Skip to content

Commit 79aa540

Browse files
authored
Resolve Unity 2023 build warnings (#11190)
* Don't load the MSBuild assembly on Unity 2023+ * Fix some API deprecation warnings
1 parent bdb5353 commit 79aa540

File tree

5 files changed

+81
-5
lines changed

5 files changed

+81
-5
lines changed

Assets/MRTK/Core/Inspectors/Setup/MixedRealityProjectConfigurator.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
using System.IO;
1313
#endif // !UNITY_2019_3_OR_NEWER
1414

15+
#if UNITY_2023_1_OR_NEWER
16+
using UnityEditor.Build;
17+
#endif // UNITY_2023_1_OR_NEWER
18+
1519
namespace Microsoft.MixedReality.Toolkit.Utilities.Editor
1620
{
1721
/// <summary>
@@ -148,12 +152,20 @@ public bool IsActiveBuildTargetValid()
148152
#endif // UNITY_2019_3_OR_NEWER
149153

150154
// Android Settings
155+
#if UNITY_2023_1_OR_NEWER
156+
{ Configurations.AndroidMultiThreadedRendering, new ConfigGetter(() => !PlayerSettings.GetMobileMTRendering(NamedBuildTarget.Android), BuildTarget.Android) },
157+
#else
151158
{ Configurations.AndroidMultiThreadedRendering, new ConfigGetter(() => !PlayerSettings.GetMobileMTRendering(BuildTargetGroup.Android), BuildTarget.Android) },
159+
#endif // UNITY_2023_1_OR_NEWER
152160
{ Configurations.AndroidMinSdkVersion, new ConfigGetter(() => PlayerSettings.Android.minSdkVersion >= MinAndroidSdk, BuildTarget.Android) },
153161

154162
// iOS Settings
155163
{ Configurations.IOSMinOSVersion, new ConfigGetter(() => float.TryParse(PlayerSettings.iOS.targetOSVersionString, NumberStyles.Float | NumberStyles.AllowThousands, CultureInfo.InvariantCulture, out float version) && version >= iOSMinOsVersion, BuildTarget.iOS) },
164+
#if UNITY_2023_1_OR_NEWER
165+
{ Configurations.IOSArchitecture, new ConfigGetter(() => PlayerSettings.GetArchitecture(NamedBuildTarget.iOS) == RequirediOSArchitecture, BuildTarget.iOS) },
166+
#else
156167
{ Configurations.IOSArchitecture, new ConfigGetter(() => PlayerSettings.GetArchitecture(BuildTargetGroup.iOS) == RequirediOSArchitecture, BuildTarget.iOS) },
168+
#endif // UNITY_2023_1_OR_NEWER
157169
{ Configurations.IOSCameraUsageDescription, new ConfigGetter(() => !string.IsNullOrWhiteSpace(PlayerSettings.iOS.cameraUsageDescription), BuildTarget.iOS) },
158170

159171
#if UNITY_2019_3_OR_NEWER
@@ -205,12 +217,20 @@ public bool IsActiveBuildTargetValid()
205217
#endif // UNITY_2019_3_OR_NEWER
206218

207219
// Android Settings
220+
#if UNITY_2023_1_OR_NEWER
221+
{ Configurations.AndroidMultiThreadedRendering, () => PlayerSettings.SetMobileMTRendering(NamedBuildTarget.Android, false) },
222+
#else
208223
{ Configurations.AndroidMultiThreadedRendering, () => PlayerSettings.SetMobileMTRendering(BuildTargetGroup.Android, false) },
224+
#endif // UNITY_2023_1_OR_NEWER
209225
{ Configurations.AndroidMinSdkVersion, () => PlayerSettings.Android.minSdkVersion = MinAndroidSdk },
210226

211227
// iOS Settings
212228
{ Configurations.IOSMinOSVersion, () => PlayerSettings.iOS.targetOSVersionString = iOSMinOsVersion.ToString("n1", CultureInfo.InvariantCulture) },
229+
#if UNITY_2023_1_OR_NEWER
230+
{ Configurations.IOSArchitecture, () => PlayerSettings.SetArchitecture(NamedBuildTarget.iOS, RequirediOSArchitecture) },
231+
#else
213232
{ Configurations.IOSArchitecture, () => PlayerSettings.SetArchitecture(BuildTargetGroup.iOS, RequirediOSArchitecture) },
233+
#endif // UNITY_2023_1_OR_NEWER
214234
{ Configurations.IOSCameraUsageDescription, () => PlayerSettings.iOS.cameraUsageDescription = iOSCameraUsageDescription },
215235

216236
#if UNITY_2019_3_OR_NEWER

Assets/MRTK/Core/Utilities/BuildAndDeploy/UnityPlayerBuildTools.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
using UnityEngine;
1515
using Debug = UnityEngine.Debug;
1616

17+
#if UNITY_2023_1_OR_NEWER
18+
using UnityEditor.Build;
19+
#endif
20+
1721
namespace Microsoft.MixedReality.Toolkit.Build.Editor
1822
{
1923
/// <summary>
@@ -38,7 +42,12 @@ public static BuildReport BuildUnityPlayer(IBuildInfo buildInfo)
3842
buildInfo.PreBuildAction?.Invoke(buildInfo);
3943

4044
BuildTargetGroup buildTargetGroup = buildInfo.BuildTarget.GetGroup();
45+
46+
#if UNITY_2023_1_OR_NEWER
47+
string playerBuildSymbols = PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.FromBuildTargetGroup(buildTargetGroup));
48+
#else
4149
string playerBuildSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup);
50+
#endif
4251

4352
if (!string.IsNullOrEmpty(playerBuildSymbols))
4453
{
@@ -54,7 +63,11 @@ public static BuildReport BuildUnityPlayer(IBuildInfo buildInfo)
5463

5564
if (!string.IsNullOrEmpty(buildInfo.BuildSymbols))
5665
{
66+
#if UNITY_2023_1_OR_NEWER
67+
PlayerSettings.SetScriptingDefineSymbols(NamedBuildTarget.FromBuildTargetGroup(buildTargetGroup), buildInfo.BuildSymbols);
68+
#else
5769
PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, buildInfo.BuildSymbols);
70+
#endif
5871
}
5972

6073
if ((buildInfo.BuildOptions & BuildOptions.Development) == BuildOptions.Development &&
@@ -85,7 +98,11 @@ public static BuildReport BuildUnityPlayer(IBuildInfo buildInfo)
8598

8699
if (buildInfo.ScriptingBackend.HasValue)
87100
{
101+
#if UNITY_2023_1_OR_NEWER
102+
PlayerSettings.SetScriptingBackend(NamedBuildTarget.FromBuildTargetGroup(buildTargetGroup), buildInfo.ScriptingBackend.Value);
103+
#else
88104
PlayerSettings.SetScriptingBackend(buildTargetGroup, buildInfo.ScriptingBackend.Value);
105+
#endif
89106
}
90107

91108
BuildTarget oldBuildTarget = EditorUserBuildSettings.activeBuildTarget;
@@ -309,4 +326,4 @@ public static async Task<bool> RestoreNugetPackagesAsync(string nugetPath, strin
309326
return File.Exists(projectJSONLockPath);
310327
}
311328
}
312-
}
329+
}

Assets/MRTK/Core/Utilities/Editor/ScriptUtilities.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
using System.Linq;
66
using UnityEditor;
77

8+
#if UNITY_2023_1_OR_NEWER
9+
using UnityEditor.Build;
10+
#endif
11+
812
namespace Microsoft.MixedReality.Toolkit.Utilities.Editor
913
{
1014
/// <summary>
@@ -25,9 +29,17 @@ public static void AppendScriptingDefinitions(
2529
if (symbols == null || symbols.Length == 0) { return; }
2630

2731
List<string> toAdd = new List<string>(symbols);
32+
33+
#if UNITY_2023_1_OR_NEWER
34+
NamedBuildTarget target = NamedBuildTarget.FromBuildTargetGroup(targetGroup);
35+
List<string> defines = new List<string>(PlayerSettings.GetScriptingDefineSymbols(target).Split(';'));
36+
37+
PlayerSettings.SetScriptingDefineSymbols(target, string.Join(";", defines.Union(toAdd).ToArray()));
38+
#else
2839
List<string> defines = new List<string>(PlayerSettings.GetScriptingDefineSymbolsForGroup(targetGroup).Split(';'));
2940

3041
PlayerSettings.SetScriptingDefineSymbolsForGroup(targetGroup, string.Join(";", defines.Union(toAdd).ToArray()));
42+
#endif
3143
}
3244

3345
/// <summary>
@@ -43,9 +55,17 @@ public static void RemoveScriptingDefinitions(
4355
if (symbols == null || symbols.Length == 0) { return; }
4456

4557
List<string> toRemove = new List<string>(symbols);
58+
59+
#if UNITY_2023_1_OR_NEWER
60+
NamedBuildTarget target = NamedBuildTarget.FromBuildTargetGroup(targetGroup);
61+
List<string> defines = new List<string>(PlayerSettings.GetScriptingDefineSymbols(target).Split(';'));
62+
63+
PlayerSettings.SetScriptingDefineSymbols(target, string.Join(";", defines.Except(toRemove).ToArray()));
64+
#else
4665
List<string> defines = new List<string>(PlayerSettings.GetScriptingDefineSymbolsForGroup(targetGroup).Split(';'));
4766

4867
PlayerSettings.SetScriptingDefineSymbolsForGroup(targetGroup, string.Join(";", defines.Except(toRemove).ToArray()));
68+
#endif
4969
}
5070
}
5171
}

Assets/MRTK/Tools/BuildWindow/BuildDeployWindow.cs

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
using Debug = UnityEngine.Debug;
1818
using FileInfo = System.IO.FileInfo;
1919

20+
#if UNITY_2023_1_OR_NEWER
21+
using UnityEditor.Build;
22+
#endif
23+
2024
namespace Microsoft.MixedReality.Toolkit.Build.Editor
2125
{
2226
/// <summary>
@@ -671,7 +675,14 @@ private void RenderAppxBuildView()
671675
GUILayout.FlexibleSpace();
672676

673677
// Open AppX packages location
674-
string appxDirectory = PlayerSettings.GetScriptingBackend(BuildTargetGroup.WSA) == ScriptingImplementation.IL2CPP ? $"/AppPackages/{PlayerSettings.productName}" : $"/{PlayerSettings.productName}/AppPackages";
678+
bool isIL2CPP =
679+
#if UNITY_2023_1_OR_NEWER
680+
PlayerSettings.GetScriptingBackend(NamedBuildTarget.WindowsStoreApps) == ScriptingImplementation.IL2CPP;
681+
#else
682+
PlayerSettings.GetScriptingBackend(BuildTargetGroup.WSA) == ScriptingImplementation.IL2CPP;
683+
#endif
684+
685+
string appxDirectory = isIL2CPP ? $"/AppPackages/{PlayerSettings.productName}" : $"/{PlayerSettings.productName}/AppPackages";
675686
string appxBuildPath = Path.GetFullPath($"{BuildDeployPreferences.BuildDirectory}{appxDirectory}");
676687

677688
using (new EditorGUI.DisabledGroupScope(Builds.Count <= 0 || string.IsNullOrEmpty(appxBuildPath)))
@@ -1277,8 +1288,14 @@ private static void UpdateBuilds()
12771288
{
12781289
Builds.Clear();
12791290

1280-
var curScriptingBackend = PlayerSettings.GetScriptingBackend(BuildTargetGroup.WSA);
1281-
string appxDirectory = curScriptingBackend == ScriptingImplementation.IL2CPP ? Path.Combine("AppPackages", PlayerSettings.productName) : Path.Combine(PlayerSettings.productName, "AppPackages");
1291+
bool isIL2CPP =
1292+
#if UNITY_2023_1_OR_NEWER
1293+
PlayerSettings.GetScriptingBackend(NamedBuildTarget.WindowsStoreApps) == ScriptingImplementation.IL2CPP;
1294+
#else
1295+
PlayerSettings.GetScriptingBackend(BuildTargetGroup.WSA) == ScriptingImplementation.IL2CPP;
1296+
#endif
1297+
1298+
string appxDirectory = isIL2CPP ? Path.Combine("AppPackages", PlayerSettings.productName) : Path.Combine(PlayerSettings.productName, "AppPackages");
12821299

12831300
try
12841301
{

Assets/MRTK/Tools/MSBuild/MRTK.Tools.MSBuild.asmdef

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,7 @@
1010
"overrideReferences": false,
1111
"precompiledReferences": [],
1212
"autoReferenced": false,
13-
"defineConstraints": []
13+
"defineConstraints": [
14+
"!UNITY_2023_1_OR_NEWER"
15+
]
1416
}

0 commit comments

Comments
 (0)