|
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 | + 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