|
4 | 4 | using System.Linq;
|
5 | 5 | using UnityEditor;
|
6 | 6 | using UnityEditor.Build.Reporting;
|
| 7 | +#if UNITY_6000_0_OR_NEWER |
| 8 | +using UnityEditor.Build.Profile; |
| 9 | +#endif |
7 | 10 |
|
8 | 11 | namespace UnityBuilderAction
|
9 | 12 | {
|
@@ -89,6 +92,31 @@ public static void Build()
|
89 | 92 | Build(buildTarget, buildSubtarget, options["customBuildPath"]);
|
90 | 93 | }
|
91 | 94 |
|
| 95 | +#if UNITY_6000_0_OR_NEWER |
| 96 | + public static void BuildWithProfile() |
| 97 | + { |
| 98 | + // Gather values from args |
| 99 | + Dictionary<string, string> options = GetValidatedOptions(); |
| 100 | + |
| 101 | + // Load build profile from Assets folder |
| 102 | + BuildProfile buildProfile = AssetDatabase.LoadAssetAtPath<BuildProfile>(options["customBuildProfile"]); |
| 103 | + |
| 104 | + // Set it as active |
| 105 | + BuildProfile.SetActiveBuildProfile(buildProfile); |
| 106 | + |
| 107 | + // Define BuildPlayerWithProfileOptions |
| 108 | + var buildPlayerWithProfileOptions = new BuildPlayerWithProfileOptions { |
| 109 | + buildProfile = buildProfile, |
| 110 | + locationPathName = options["customBuildPath"], |
| 111 | + options = buildOptions, |
| 112 | + }; |
| 113 | + |
| 114 | + BuildSummary buildSummary = BuildPipeline.BuildPlayer(buildPlayerWithProfileOptions).summary; |
| 115 | + ReportSummary(buildSummary); |
| 116 | + ExitWithResult(buildSummary.result); |
| 117 | + } |
| 118 | +#endif |
| 119 | + |
92 | 120 | private static Dictionary<string, string> GetValidatedOptions()
|
93 | 121 | {
|
94 | 122 | ParseCommandLineArguments(out Dictionary<string, string> validatedOptions);
|
|
0 commit comments