From 8c10cd6f8386ddad007c0d601317a27892cf84f2 Mon Sep 17 00:00:00 2001 From: Marlena Klein <marlenaklein@microsoft.com> Date: Tue, 17 Oct 2023 15:57:39 -0700 Subject: [PATCH 1/3] Asmdef updates --- .../MixedRealityToolkitFacadeHandler.cs | 2 +- ...ityToolkitConfigurationProfileInspector.cs | 2 +- .../PropertyDrawers/SceneInfoUtils.cs | 5 ++- Assets/MRTK/Core/MRTK.Core.asmdef | 6 +++ .../MRTK/Core/Services/MixedRealityToolkit.cs | 6 +-- .../Async/Internal/AsyncCoroutineRunner.cs | 6 ++- .../Core/Utilities/Async/MRTK.Async.asmdef | 5 ++- Assets/MRTK/Core/Utilities/CameraCache.cs | 2 +- .../MRTK/Core/Utilities/FindObjectUtility.cs | 38 +++++++++++++++++++ .../Core/Utilities/FindObjectUtility.cs.meta | 11 ++++++ .../Scripts/UserInputRecorder.cs | 5 ++- .../General/Scripts/Utils/StatusText.cs | 3 +- .../SceneTransitionService.cs | 4 +- .../Oculus/XRSDK/OculusXRSDKDeviceManager.cs | 2 +- .../BoundsControlMigrationHandler.cs | 2 +- .../Features/Utilities/WorldAnchorManager.cs | 2 +- .../Input/Scripts/InputSystemManager.cs | 2 +- .../InputSystem/MixedRealityInputSystem.cs | 2 +- .../MixedRealityTeleportSystem.cs | 2 +- .../Core/MixedRealityToolkitTests.cs | 3 +- .../Tests/PlayModeTests/BaseCursorTests.cs | 4 +- .../PlayModeTests/ChangeActiveProfileTests.cs | 5 ++- .../Hands/RiggedHandVisualizerTests.cs | 2 +- .../Async/AsyncCoroutineRunnerTests.cs | 2 +- .../TestUtilities/PlayModeTestUtilities.cs | 2 +- .../MRTK/Tests/TestUtilities/TestUtilities.cs | 4 +- .../MixedRealityOptimizeWindow.cs | 10 ++--- .../Toolbox/MixedRealityToolboxWindow.cs | 3 +- 28 files changed, 104 insertions(+), 38 deletions(-) create mode 100644 Assets/MRTK/Core/Utilities/FindObjectUtility.cs create mode 100644 Assets/MRTK/Core/Utilities/FindObjectUtility.cs.meta diff --git a/Assets/MRTK/Core/Inspectors/MixedRealityToolkitFacadeHandler.cs b/Assets/MRTK/Core/Inspectors/MixedRealityToolkitFacadeHandler.cs index b0f2b77656c..1c476255403 100644 --- a/Assets/MRTK/Core/Inspectors/MixedRealityToolkitFacadeHandler.cs +++ b/Assets/MRTK/Core/Inspectors/MixedRealityToolkitFacadeHandler.cs @@ -59,7 +59,7 @@ private static void OnSceneSaved(Scene scene) private static void CleanupCurrentFacades() { - foreach (MixedRealityToolkit toolkitInstance in GameObject.FindObjectsOfType<MixedRealityToolkit>()) + foreach (MixedRealityToolkit toolkitInstance in FindObjectUtility.FindObjectsOfType<MixedRealityToolkit>()) { DestroyAllChildren(toolkitInstance); } diff --git a/Assets/MRTK/Core/Inspectors/Profiles/MixedRealityToolkitConfigurationProfileInspector.cs b/Assets/MRTK/Core/Inspectors/Profiles/MixedRealityToolkitConfigurationProfileInspector.cs index 5129041442b..b7530e2bc11 100644 --- a/Assets/MRTK/Core/Inspectors/Profiles/MixedRealityToolkitConfigurationProfileInspector.cs +++ b/Assets/MRTK/Core/Inspectors/Profiles/MixedRealityToolkitConfigurationProfileInspector.cs @@ -423,7 +423,7 @@ protected override void OnEnable() } else { - foreach (var dbr in FindObjectsOfType<DepthBufferRenderer>()) + foreach (var dbr in FindObjectUtility.FindObjectsOfType<DepthBufferRenderer>()) { UnityObjectExtensions.DestroyObject(dbr); } diff --git a/Assets/MRTK/Core/Inspectors/PropertyDrawers/SceneInfoUtils.cs b/Assets/MRTK/Core/Inspectors/PropertyDrawers/SceneInfoUtils.cs index 9741c6e6403..74ab65ef15b 100644 --- a/Assets/MRTK/Core/Inspectors/PropertyDrawers/SceneInfoUtils.cs +++ b/Assets/MRTK/Core/Inspectors/PropertyDrawers/SceneInfoUtils.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +using Microsoft.MixedReality.Toolkit.Utilities; using Microsoft.MixedReality.Toolkit.SceneSystem; using System; using System.Collections.Generic; @@ -346,7 +347,7 @@ private static void RefreshSceneInfoFieldsInOpenScenes() foreach (Tuple<Type, FieldInfo> typeFieldInfoPair in cachedComponentTypes) { FieldInfo fieldInfo = typeFieldInfoPair.Item2; - foreach (Component source in GameObject.FindObjectsOfType(typeFieldInfoPair.Item1)) + foreach (Component source in FindObjectUtility.FindObjectsOfType(typeFieldInfoPair.Item1)) { CheckForChangesInField(source, fieldInfo); } @@ -425,4 +426,4 @@ private static void CheckForChangesInField(UnityEngine.Object source, FieldInfo } } } -} \ No newline at end of file +} diff --git a/Assets/MRTK/Core/MRTK.Core.asmdef b/Assets/MRTK/Core/MRTK.Core.asmdef index ae359a5f76c..c8cb007717a 100644 --- a/Assets/MRTK/Core/MRTK.Core.asmdef +++ b/Assets/MRTK/Core/MRTK.Core.asmdef @@ -1,5 +1,6 @@ { "name": "Microsoft.MixedReality.Toolkit", + "rootNamespace": "", "references": [ "Microsoft.MixedReality.Toolkit.Async", "Microsoft.MixedReality.Toolkit.Editor.Utilities", @@ -22,6 +23,11 @@ "name": "com.unity.xr.management", "expression": "", "define": "XR_MANAGEMENT_ENABLED" + }, + { + "name": "Unity", + "expression": "2021.3.18", + "define": "UNITY_2021_3_18_OR_NEWER" } ], "noEngineReferences": false diff --git a/Assets/MRTK/Core/Services/MixedRealityToolkit.cs b/Assets/MRTK/Core/Services/MixedRealityToolkit.cs index 0ca55a54591..3d4ad18c830 100644 --- a/Assets/MRTK/Core/Services/MixedRealityToolkit.cs +++ b/Assets/MRTK/Core/Services/MixedRealityToolkit.cs @@ -132,7 +132,7 @@ public MixedRealityToolkitConfigurationProfile ActiveProfile /// </remarks> public static void SetProfileBeforeInitialization(MixedRealityToolkitConfigurationProfile profile) { - MixedRealityToolkit toolkit = FindObjectOfType<MixedRealityToolkit>(); + MixedRealityToolkit toolkit = FindObjectUtility.FindObjectByType<MixedRealityToolkit>(); toolkit.activeProfile = profile; } @@ -586,7 +586,7 @@ private void EnsureMixedRealityRequirements() bool addedComponents = false; if (!Application.isPlaying && CameraCache.Main != null) { - EventSystem[] eventSystems = FindObjectsOfType<EventSystem>(); + EventSystem[] eventSystems = FindObjectUtility.FindObjectsOfType<EventSystem>(); if (eventSystems.Length == 0) { @@ -644,7 +644,7 @@ public static MixedRealityToolkit Instance // // To avoid returning null in this case, make sure to search the scene for MRTK. // We do this only when in editor to avoid any performance cost at runtime. - List<MixedRealityToolkit> mrtks = new List<MixedRealityToolkit>(FindObjectsOfType<MixedRealityToolkit>()); + List<MixedRealityToolkit> mrtks = new List<MixedRealityToolkit>(FindObjectUtility.FindObjectsOfType<MixedRealityToolkit>()); // Sort the list by instance ID so we get deterministic results when selecting our next active instance mrtks.Sort(delegate (MixedRealityToolkit i1, MixedRealityToolkit i2) { return i1.GetInstanceID().CompareTo(i2.GetInstanceID()); }); diff --git a/Assets/MRTK/Core/Utilities/Async/Internal/AsyncCoroutineRunner.cs b/Assets/MRTK/Core/Utilities/Async/Internal/AsyncCoroutineRunner.cs index 3d2801879a8..562517c1650 100644 --- a/Assets/MRTK/Core/Utilities/Async/Internal/AsyncCoroutineRunner.cs +++ b/Assets/MRTK/Core/Utilities/Async/Internal/AsyncCoroutineRunner.cs @@ -51,7 +51,11 @@ internal static AsyncCoroutineRunner Instance { if (instance == null) { - instance = FindObjectOfType<AsyncCoroutineRunner>(); +#if UNITY_2021_3_18_OR_NEWER + instance = UnityEngine.Object.FindFirstObjectByType<AsyncCoroutineRunner>(); +#else + instance = GameObject.FindObjectOfType<AsyncCoroutineRunner>(); +#endif } // FindObjectOfType() only search for objects attached to active GameObjects. The FindObjectOfType(bool includeInactive) variant is not available to Unity 2019.4 and earlier so cannot be used. diff --git a/Assets/MRTK/Core/Utilities/Async/MRTK.Async.asmdef b/Assets/MRTK/Core/Utilities/Async/MRTK.Async.asmdef index 82e205dc99a..c3f00b605ac 100644 --- a/Assets/MRTK/Core/Utilities/Async/MRTK.Async.asmdef +++ b/Assets/MRTK/Core/Utilities/Async/MRTK.Async.asmdef @@ -1,12 +1,13 @@ { "name": "Microsoft.MixedReality.Toolkit.Async", "references": [], - "optionalUnityReferences": [], "includePlatforms": [], "excludePlatforms": [], "allowUnsafeCode": false, "overrideReferences": false, "precompiledReferences": [], "autoReferenced": true, - "defineConstraints": [] + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/MRTK/Core/Utilities/CameraCache.cs b/Assets/MRTK/Core/Utilities/CameraCache.cs index fb3ed239216..528bd225e7b 100644 --- a/Assets/MRTK/Core/Utilities/CameraCache.cs +++ b/Assets/MRTK/Core/Utilities/CameraCache.cs @@ -38,7 +38,7 @@ public static Camera Main Debug.Log("No main camera found. Searching for cameras in the scene."); // If no main camera was found, try to determine one. - Camera[] cameras = Object.FindObjectsOfType<Camera>(); + Camera[] cameras = FindObjectUtility.FindObjectsOfType<Camera>(); if (cameras.Length == 0) { Debug.LogWarning("No cameras found. Creating a \"MainCamera\"."); diff --git a/Assets/MRTK/Core/Utilities/FindObjectUtility.cs b/Assets/MRTK/Core/Utilities/FindObjectUtility.cs new file mode 100644 index 00000000000..1948a8981a3 --- /dev/null +++ b/Assets/MRTK/Core/Utilities/FindObjectUtility.cs @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +using UnityEngine; +using System; + +namespace Microsoft.MixedReality.Toolkit.Utilities +{ + public static class FindObjectUtility + { + public static T FindObjectByType<T>(bool includeInactive = false) where T : Component + { +#if UNITY_2021_3_18_OR_NEWER + return UnityEngine.Object.FindFirstObjectByType<T>(includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude); +#else + return UnityEngine.Object.FindObjectOfType<T>(includeInactive); +#endif + } + + public static T[] FindObjectsOfType<T>(bool includeInactive = false, bool sort = true) where T : Component + { +#if UNITY_2021_3_18_OR_NEWER + return UnityEngine.Object.FindObjectsByType<T>(includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude, sort ? FindObjectsSortMode.InstanceID : FindObjectsSortMode.None); +#else + return UnityEngine.Object.FindObjectsOfType<T>(includeInactive); +#endif + } + + public static UnityEngine.Object[] FindObjectsOfType(Type type, bool includeInactive = false, bool sort = true) + { +#if UNITY_2021_3_18_OR_NEWER + return UnityEngine.Object.FindObjectsByType(type, includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude, sort ? FindObjectsSortMode.InstanceID : FindObjectsSortMode.None); +#else + return UnityEngine.Object.FindObjectsOfType(type, includeInactive); +#endif + } + } +} diff --git a/Assets/MRTK/Core/Utilities/FindObjectUtility.cs.meta b/Assets/MRTK/Core/Utilities/FindObjectUtility.cs.meta new file mode 100644 index 00000000000..e77e43dda87 --- /dev/null +++ b/Assets/MRTK/Core/Utilities/FindObjectUtility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b8a334127c067a34da7cd12800934ae3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/MRTK/Examples/Demos/EyeTracking/DemoVisualizer/Scripts/UserInputRecorder.cs b/Assets/MRTK/Examples/Demos/EyeTracking/DemoVisualizer/Scripts/UserInputRecorder.cs index 267af435ed4..e0c1fc481f3 100644 --- a/Assets/MRTK/Examples/Demos/EyeTracking/DemoVisualizer/Scripts/UserInputRecorder.cs +++ b/Assets/MRTK/Examples/Demos/EyeTracking/DemoVisualizer/Scripts/UserInputRecorder.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +using Microsoft.MixedReality.Toolkit.Utilities; using Microsoft.MixedReality.Toolkit.Input; using System; using System.IO; @@ -26,7 +27,7 @@ public static UserInputRecorder Instance { if (instance == null) { - instance = FindObjectOfType<UserInputRecorder>(); + instance = FindObjectUtility.FindObjectByType<UserInputRecorder>(); } return instance; } @@ -148,4 +149,4 @@ public override void OnDestroy() base.OnDestroy(); } } -} \ No newline at end of file +} diff --git a/Assets/MRTK/Examples/Demos/EyeTracking/General/Scripts/Utils/StatusText.cs b/Assets/MRTK/Examples/Demos/EyeTracking/General/Scripts/Utils/StatusText.cs index 13038156402..6c888f413b7 100644 --- a/Assets/MRTK/Examples/Demos/EyeTracking/General/Scripts/Utils/StatusText.cs +++ b/Assets/MRTK/Examples/Demos/EyeTracking/General/Scripts/Utils/StatusText.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +using Microsoft.MixedReality.Toolkit.Utilities; using UnityEngine; namespace Microsoft.MixedReality.Toolkit.Examples.Demos.EyeTracking @@ -17,7 +18,7 @@ public static StatusText Instance { if (_Instance == null) { - _Instance = FindObjectOfType<StatusText>(); + _Instance = FindObjectUtility.FindObjectByType<StatusText>(); } return _Instance; } diff --git a/Assets/MRTK/Extensions/SceneTransitionService/SceneTransitionService.cs b/Assets/MRTK/Extensions/SceneTransitionService/SceneTransitionService.cs index a0aed33e1ee..c61ec50060c 100644 --- a/Assets/MRTK/Extensions/SceneTransitionService/SceneTransitionService.cs +++ b/Assets/MRTK/Extensions/SceneTransitionService/SceneTransitionService.cs @@ -422,7 +422,7 @@ private List<Camera> GatherFadeTargetCameras() { case CameraFaderTargets.All: // Add every single camera in all scenes - targetCameras.AddRange(GameObject.FindObjectsOfType<Camera>()); + targetCameras.AddRange(FindObjectUtility.FindObjectsOfType<Camera>()); break; case CameraFaderTargets.Main: @@ -430,7 +430,7 @@ private List<Camera> GatherFadeTargetCameras() break; case CameraFaderTargets.UI: - foreach (Canvas canvas in GameObject.FindObjectsOfType<Canvas>()) + foreach (Canvas canvas in FindObjectUtility.FindObjectsOfType<Canvas>()) { switch (canvas.renderMode) { diff --git a/Assets/MRTK/Providers/Oculus/XRSDK/OculusXRSDKDeviceManager.cs b/Assets/MRTK/Providers/Oculus/XRSDK/OculusXRSDKDeviceManager.cs index d9803f3f6af..65ccc28a9b0 100644 --- a/Assets/MRTK/Providers/Oculus/XRSDK/OculusXRSDKDeviceManager.cs +++ b/Assets/MRTK/Providers/Oculus/XRSDK/OculusXRSDKDeviceManager.cs @@ -207,7 +207,7 @@ public override void Update() private void SetupInput() { - cameraRig = GameObject.FindObjectOfType<OVRCameraRig>(); + cameraRig = FindObjectUtility.FindObjectOfType<OVRCameraRig>(); if (cameraRig == null) { var mainCamera = CameraCache.Main; diff --git a/Assets/MRTK/SDK/Editor/Migration/BoundsControlMigrationHandler.cs b/Assets/MRTK/SDK/Editor/Migration/BoundsControlMigrationHandler.cs index 2b4c95f9335..6a8223ac68b 100644 --- a/Assets/MRTK/SDK/Editor/Migration/BoundsControlMigrationHandler.cs +++ b/Assets/MRTK/SDK/Editor/Migration/BoundsControlMigrationHandler.cs @@ -297,7 +297,7 @@ private void MigrateAppBar(BoundingBox boundingBox, BoundsControl boundsControl) { // note: this might be expensive for larger scenes but we don't know where the appbar is // placed in the hierarchy so we have to search the scene for it - AppBar[] appBars = Object.FindObjectsOfType<AppBar>(); + AppBar[] appBars = FindObjectUtility.FindObjectsOfType<AppBar>(); for (int i = 0; i < appBars.Length; ++i) { AppBar appBar = appBars[i]; diff --git a/Assets/MRTK/SDK/Experimental/Features/Utilities/WorldAnchorManager.cs b/Assets/MRTK/SDK/Experimental/Features/Utilities/WorldAnchorManager.cs index 7c21422613b..f1333dd9d71 100644 --- a/Assets/MRTK/SDK/Experimental/Features/Utilities/WorldAnchorManager.cs +++ b/Assets/MRTK/SDK/Experimental/Features/Utilities/WorldAnchorManager.cs @@ -336,7 +336,7 @@ public void RemoveAllAnchors() Debug.LogWarning("[WorldAnchorManager] RemoveAllAnchors called before anchor store is ready."); } - var anchors = FindObjectsOfType<WorldAnchor>(); + var anchors = FindObjectUtility.FindObjectsOfType<WorldAnchor>(); if (anchors == null) { diff --git a/Assets/MRTK/SDK/Experimental/ServiceManagers/Input/Scripts/InputSystemManager.cs b/Assets/MRTK/SDK/Experimental/ServiceManagers/Input/Scripts/InputSystemManager.cs index 8b3f99de8e8..740cebf22aa 100644 --- a/Assets/MRTK/SDK/Experimental/ServiceManagers/Input/Scripts/InputSystemManager.cs +++ b/Assets/MRTK/SDK/Experimental/ServiceManagers/Input/Scripts/InputSystemManager.cs @@ -66,7 +66,7 @@ private void InitializeManager() Initialize<IMixedRealityRaycastProvider>(profile.RaycastProviderType, args: args); - EventSystem[] eventSystems = FindObjectsOfType<EventSystem>(); + EventSystem[] eventSystems = FindObjectUtility.FindObjectsOfType<EventSystem>(); if (eventSystems.Length == 0) { diff --git a/Assets/MRTK/Services/InputSystem/MixedRealityInputSystem.cs b/Assets/MRTK/Services/InputSystem/MixedRealityInputSystem.cs index ab7e3031eac..09541171cf8 100644 --- a/Assets/MRTK/Services/InputSystem/MixedRealityInputSystem.cs +++ b/Assets/MRTK/Services/InputSystem/MixedRealityInputSystem.cs @@ -170,7 +170,7 @@ public override void Initialize() return; } - BaseInputModule[] inputModules = UnityEngine.Object.FindObjectsOfType<BaseInputModule>(); + BaseInputModule[] inputModules = FindObjectUtility.FindObjectsOfType<BaseInputModule>(); if (inputModules.Length == 0) { diff --git a/Assets/MRTK/Services/TeleportSystem/MixedRealityTeleportSystem.cs b/Assets/MRTK/Services/TeleportSystem/MixedRealityTeleportSystem.cs index 2c15ecc53cc..ec54b294a13 100644 --- a/Assets/MRTK/Services/TeleportSystem/MixedRealityTeleportSystem.cs +++ b/Assets/MRTK/Services/TeleportSystem/MixedRealityTeleportSystem.cs @@ -60,7 +60,7 @@ private void InitializeInternal() #if UNITY_EDITOR if (!UnityEditor.EditorApplication.isPlaying) { - var eventSystems = Object.FindObjectsOfType<EventSystem>(); + var eventSystems = FindObjectUtility.FindObjectsOfType<EventSystem>(); if (eventSystems.Length == 0) { diff --git a/Assets/MRTK/Tests/EditModeTests/Core/MixedRealityToolkitTests.cs b/Assets/MRTK/Tests/EditModeTests/Core/MixedRealityToolkitTests.cs index aff60ca0d3b..78a09f0a167 100644 --- a/Assets/MRTK/Tests/EditModeTests/Core/MixedRealityToolkitTests.cs +++ b/Assets/MRTK/Tests/EditModeTests/Core/MixedRealityToolkitTests.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +using Microsoft.MixedReality.Toolkit.Utilities; using Microsoft.MixedReality.Toolkit.Tests.EditMode.Services; using NUnit.Framework; using System.Collections.Generic; @@ -476,7 +477,7 @@ public void TestCreateMultipleInstancesInMultipleScenes() _ = new GameObject("MixedRealityToolkit").AddComponent<MixedRealityToolkit>(); } - MixedRealityToolkit[] instances = GameObject.FindObjectsOfType<MixedRealityToolkit>(); + MixedRealityToolkit[] instances = FindObjectUtility.FindObjectsOfType<MixedRealityToolkit>(); for (int i = 0; i < instances.Length; i++) { MixedRealityToolkit.SetActiveInstance(instances[i]); diff --git a/Assets/MRTK/Tests/PlayModeTests/BaseCursorTests.cs b/Assets/MRTK/Tests/PlayModeTests/BaseCursorTests.cs index bd77cc2b1ce..cc4720368fe 100644 --- a/Assets/MRTK/Tests/PlayModeTests/BaseCursorTests.cs +++ b/Assets/MRTK/Tests/PlayModeTests/BaseCursorTests.cs @@ -360,9 +360,9 @@ public IEnumerator CursorContextScaleRotate() public IEnumerator CursorScaling() { // Finding or initializing necessary objects - Camera cam = GameObject.FindObjectOfType<Camera>(); + Camera cam = FindObjectUtility.FindObjectByType<Camera>(); - BaseCursor baseCursor = GameObject.FindObjectOfType<BaseCursor>(); + BaseCursor baseCursor = FindObjectUtility.FindObjectByType<BaseCursor>(); Assert.IsNotNull(baseCursor); // Make sure resizing is turned on diff --git a/Assets/MRTK/Tests/PlayModeTests/ChangeActiveProfileTests.cs b/Assets/MRTK/Tests/PlayModeTests/ChangeActiveProfileTests.cs index fab0e1dc951..0609ac44a55 100644 --- a/Assets/MRTK/Tests/PlayModeTests/ChangeActiveProfileTests.cs +++ b/Assets/MRTK/Tests/PlayModeTests/ChangeActiveProfileTests.cs @@ -10,6 +10,7 @@ // issue will likely persist for 2018, this issue is worked around by wrapping all // play mode tests in this check. +using Microsoft.MixedReality.Toolkit.Utilities; using Microsoft.MixedReality.Toolkit.Boundary; using NUnit.Framework; using System.Collections; @@ -150,7 +151,7 @@ public IEnumerator VerifyPlayspaceChildren() int uiRaycastCameraCount = 0; // Confirm that we have one UIRaycastCamera. Debug.Log("Validating UIRaycastCamera count."); - Camera[] cameras = GameObject.FindObjectsOfType<Camera>(); + Camera[] cameras = FindObjectUtility.FindObjectsOfType<Camera>(); foreach (Camera camera in cameras) { if ("UIRaycastCamera" == camera.name) @@ -177,4 +178,4 @@ public IEnumerator VerifyPlayspaceChildren() } } -#endif // !WINDOWS_UWP \ No newline at end of file +#endif // !WINDOWS_UWP diff --git a/Assets/MRTK/Tests/PlayModeTests/Core/Providers/Hands/RiggedHandVisualizerTests.cs b/Assets/MRTK/Tests/PlayModeTests/Core/Providers/Hands/RiggedHandVisualizerTests.cs index 114256874bf..56412613695 100644 --- a/Assets/MRTK/Tests/PlayModeTests/Core/Providers/Hands/RiggedHandVisualizerTests.cs +++ b/Assets/MRTK/Tests/PlayModeTests/Core/Providers/Hands/RiggedHandVisualizerTests.cs @@ -45,7 +45,7 @@ public IEnumerator TestRiggedHand() var rightHand = new TestHand(Handedness.Right); yield return rightHand.Show(Vector3.zero); - RiggedHandVisualizer handVisualizer = GameObject.FindObjectOfType<RiggedHandVisualizer>().GetComponent<RiggedHandVisualizer>(); + RiggedHandVisualizer handVisualizer = FindObjectUtility.FindObjectByType<RiggedHandVisualizer>().GetComponent<RiggedHandVisualizer>(); yield return rightHand.SetGesture(ArticulatedHandPose.GestureId.Open); Assert.IsTrue(handVisualizer.HandRenderer.sharedMaterial.GetFloat(handVisualizer.PinchStrengthMaterialProperty) < 0.5f); diff --git a/Assets/MRTK/Tests/PlayModeTests/Core/Utilities/Async/AsyncCoroutineRunnerTests.cs b/Assets/MRTK/Tests/PlayModeTests/Core/Utilities/Async/AsyncCoroutineRunnerTests.cs index 8d63548f766..f19b7cee197 100644 --- a/Assets/MRTK/Tests/PlayModeTests/Core/Utilities/Async/AsyncCoroutineRunnerTests.cs +++ b/Assets/MRTK/Tests/PlayModeTests/Core/Utilities/Async/AsyncCoroutineRunnerTests.cs @@ -29,7 +29,7 @@ public IEnumerator TestNonRootParenting() { // Set up the AsyncCoroutineRunner to be parented under the MixedRealityPlayspace, // to validate that the runner will correctly unparent it. - AsyncCoroutineRunner asyncCoroutineRunner = Object.FindObjectOfType<AsyncCoroutineRunner>(); + AsyncCoroutineRunner asyncCoroutineRunner = FindObjectUtility.FindObjectByType<AsyncCoroutineRunner>(); if (asyncCoroutineRunner == null) { asyncCoroutineRunner = new GameObject("AsyncCoroutineRunner").AddComponent<AsyncCoroutineRunner>(); diff --git a/Assets/MRTK/Tests/TestUtilities/PlayModeTestUtilities.cs b/Assets/MRTK/Tests/TestUtilities/PlayModeTestUtilities.cs index a90faa0ab17..d3210b0aecd 100644 --- a/Assets/MRTK/Tests/TestUtilities/PlayModeTestUtilities.cs +++ b/Assets/MRTK/Tests/TestUtilities/PlayModeTestUtilities.cs @@ -266,7 +266,7 @@ public static IEnumerator SetupMrtkWithoutGlobalInputHandlers() UnityEngine.Object.Destroy(CoreServices.InputSystem.GazeProvider.GazeCursor as Behaviour); CoreServices.InputSystem.GazeProvider.Enabled = false; - var diagnosticsVoiceControls = UnityEngine.Object.FindObjectsOfType<DiagnosticsSystemVoiceControls>(); + var diagnosticsVoiceControls = FindObjectUtility.FindObjectsOfType<DiagnosticsSystemVoiceControls>(); foreach (var diagnosticsComponent in diagnosticsVoiceControls) { diagnosticsComponent.enabled = false; diff --git a/Assets/MRTK/Tests/TestUtilities/TestUtilities.cs b/Assets/MRTK/Tests/TestUtilities/TestUtilities.cs index f853a136a77..fbc6918ec5b 100644 --- a/Assets/MRTK/Tests/TestUtilities/TestUtilities.cs +++ b/Assets/MRTK/Tests/TestUtilities/TestUtilities.cs @@ -274,7 +274,7 @@ public static void InitializeMixedRealityToolkitAndCreateScenes(bool useDefaultP public static void InitializeCamera() { - Camera[] cameras = Object.FindObjectsOfType<Camera>(); + Camera[] cameras = FindObjectUtility.FindObjectsOfType<Camera>(); if (cameras.Length == 0) { @@ -287,7 +287,7 @@ public static void InitializeMixedRealityToolkit(MixedRealityToolkitConfiguratio InitializeCamera(); // Ensure the AsyncCoroutineRunner is added to avoid log spam in the tests - if (Object.FindObjectOfType<AsyncCoroutineRunner>() == null) + if (FindObjectUtility.FindObjectByType<AsyncCoroutineRunner>() == null) { new GameObject("AsyncCoroutineRunner").AddComponent<AsyncCoroutineRunner>(); } diff --git a/Assets/MRTK/Tools/OptimizeWindow/MixedRealityOptimizeWindow.cs b/Assets/MRTK/Tools/OptimizeWindow/MixedRealityOptimizeWindow.cs index 6a4d5d9d39e..eb3e9704260 100644 --- a/Assets/MRTK/Tools/OptimizeWindow/MixedRealityOptimizeWindow.cs +++ b/Assets/MRTK/Tools/OptimizeWindow/MixedRealityOptimizeWindow.cs @@ -506,13 +506,13 @@ private void RenderOptimalRenderingSection() private void AnalyzeScene() { - sceneLights = FindObjectsOfType<Light>(); + sceneLights = FindObjectUtility.FindObjectsOfType<Light>(); AnalyzeRaycastTargets(); // TODO: Consider searching for particle renderers count? - MeshesOrderedByPolyCountDesc = FindObjectsOfType<MeshFilter>() + MeshesOrderedByPolyCountDesc = FindObjectUtility.FindObjectsOfType<MeshFilter>() .Where(f => f != null && f.sharedMesh != null) .OrderByDescending(f => f.sharedMesh.triangles.Length) .ToArray(); @@ -537,8 +537,8 @@ private void AnalyzeScene() private void AnalyzeRaycastTargets() { - totalRaycastableUnityUI_Text = FindObjectsOfType<Text>().Where(t => t.raycastTarget).Count(); - totalRaycastableUnityUI_TMP_UGUI = FindObjectsOfType<TextMeshProUGUI>().Where(t => t.raycastTarget).Count(); + totalRaycastableUnityUI_Text = FindObjectUtility.FindObjectsOfType<Text>().Where(t => t.raycastTarget).Count(); + totalRaycastableUnityUI_TMP_UGUI = FindObjectUtility.FindObjectsOfType<TextMeshProUGUI>().Where(t => t.raycastTarget).Count(); } private void DiscoverMaterials() @@ -591,7 +591,7 @@ private bool CanConvertMaterial(Material asset) private static void DisableRaycastTargetAll<T>() where T : Graphic { - DisableRaycastTarget(FindObjectsOfType<T>()); + DisableRaycastTarget(FindObjectUtility.FindObjectsOfType<T>()); } private static void DisableRaycastTarget(Graphic[] elements) diff --git a/Assets/MRTK/Tools/Toolbox/MixedRealityToolboxWindow.cs b/Assets/MRTK/Tools/Toolbox/MixedRealityToolboxWindow.cs index 5e50be21846..89ccb0ccea1 100644 --- a/Assets/MRTK/Tools/Toolbox/MixedRealityToolboxWindow.cs +++ b/Assets/MRTK/Tools/Toolbox/MixedRealityToolboxWindow.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +using Microsoft.MixedReality.Toolkit.Utilities; using Microsoft.MixedReality.Toolkit.Utilities.Editor; using System; using System.Collections.Generic; @@ -353,7 +354,7 @@ private static bool IsSearchMatch(string field, string searchContent) private void FindAllMRTKCanvases() { - canvasUtilities = FindObjectsOfType<Input.Utilities.CanvasUtility>(); + canvasUtilities = FindObjectUtility.FindObjectsOfType<Input.Utilities.CanvasUtility>(); dropdownValues = new string[canvasUtilities.Length]; for (int i = 0; i < canvasUtilities.Length; i++) From f01164e9e3e6169a97b777679c638293d2df59d5 Mon Sep 17 00:00:00 2001 From: Marlena Klein <marlenaklein@microsoft.com> Date: Wed, 25 Oct 2023 11:04:41 -0700 Subject: [PATCH 2/3] Update Asmdef --- .../MixedRealityToolkitFacadeHandler.cs | 2 +- ...ityToolkitConfigurationProfileInspector.cs | 2 +- .../PropertyDrawers/SceneInfoUtils.cs | 2 +- .../MRTK/Core/Services/MixedRealityToolkit.cs | 4 +-- .../Core/Utilities/Async/MRTK.Async.asmdef | 9 ++++- Assets/MRTK/Core/Utilities/CameraCache.cs | 2 +- .../MRTK/Core/Utilities/FindObjectUtility.cs | 35 ++++++++++++++++--- .../SceneTransitionService.cs | 4 +-- .../BoundsControlMigrationHandler.cs | 2 +- .../Features/Utilities/WorldAnchorManager.cs | 2 +- .../Input/Scripts/InputSystemManager.cs | 2 +- .../InputSystem/MixedRealityInputSystem.cs | 2 +- .../MixedRealityTeleportSystem.cs | 2 +- .../Core/MixedRealityToolkitTests.cs | 2 +- .../PlayModeTests/ChangeActiveProfileTests.cs | 2 +- .../TestUtilities/PlayModeTestUtilities.cs | 2 +- .../MRTK/Tests/TestUtilities/TestUtilities.cs | 2 +- .../MixedRealityOptimizeWindow.cs | 10 +++--- .../Toolbox/MixedRealityToolboxWindow.cs | 2 +- 19 files changed, 62 insertions(+), 28 deletions(-) diff --git a/Assets/MRTK/Core/Inspectors/MixedRealityToolkitFacadeHandler.cs b/Assets/MRTK/Core/Inspectors/MixedRealityToolkitFacadeHandler.cs index 1c476255403..411df666436 100644 --- a/Assets/MRTK/Core/Inspectors/MixedRealityToolkitFacadeHandler.cs +++ b/Assets/MRTK/Core/Inspectors/MixedRealityToolkitFacadeHandler.cs @@ -59,7 +59,7 @@ private static void OnSceneSaved(Scene scene) private static void CleanupCurrentFacades() { - foreach (MixedRealityToolkit toolkitInstance in FindObjectUtility.FindObjectsOfType<MixedRealityToolkit>()) + foreach (MixedRealityToolkit toolkitInstance in FindObjectUtility.FindObjectsByType<MixedRealityToolkit>()) { DestroyAllChildren(toolkitInstance); } diff --git a/Assets/MRTK/Core/Inspectors/Profiles/MixedRealityToolkitConfigurationProfileInspector.cs b/Assets/MRTK/Core/Inspectors/Profiles/MixedRealityToolkitConfigurationProfileInspector.cs index b7530e2bc11..8266175b351 100644 --- a/Assets/MRTK/Core/Inspectors/Profiles/MixedRealityToolkitConfigurationProfileInspector.cs +++ b/Assets/MRTK/Core/Inspectors/Profiles/MixedRealityToolkitConfigurationProfileInspector.cs @@ -423,7 +423,7 @@ protected override void OnEnable() } else { - foreach (var dbr in FindObjectUtility.FindObjectsOfType<DepthBufferRenderer>()) + foreach (var dbr in FindObjectUtility.FindObjectsByType<DepthBufferRenderer>()) { UnityObjectExtensions.DestroyObject(dbr); } diff --git a/Assets/MRTK/Core/Inspectors/PropertyDrawers/SceneInfoUtils.cs b/Assets/MRTK/Core/Inspectors/PropertyDrawers/SceneInfoUtils.cs index 74ab65ef15b..18018dfa127 100644 --- a/Assets/MRTK/Core/Inspectors/PropertyDrawers/SceneInfoUtils.cs +++ b/Assets/MRTK/Core/Inspectors/PropertyDrawers/SceneInfoUtils.cs @@ -347,7 +347,7 @@ private static void RefreshSceneInfoFieldsInOpenScenes() foreach (Tuple<Type, FieldInfo> typeFieldInfoPair in cachedComponentTypes) { FieldInfo fieldInfo = typeFieldInfoPair.Item2; - foreach (Component source in FindObjectUtility.FindObjectsOfType(typeFieldInfoPair.Item1)) + foreach (Component source in FindObjectUtility.FindObjectsByType(typeFieldInfoPair.Item1)) { CheckForChangesInField(source, fieldInfo); } diff --git a/Assets/MRTK/Core/Services/MixedRealityToolkit.cs b/Assets/MRTK/Core/Services/MixedRealityToolkit.cs index 3d4ad18c830..8509ef8b89f 100644 --- a/Assets/MRTK/Core/Services/MixedRealityToolkit.cs +++ b/Assets/MRTK/Core/Services/MixedRealityToolkit.cs @@ -586,7 +586,7 @@ private void EnsureMixedRealityRequirements() bool addedComponents = false; if (!Application.isPlaying && CameraCache.Main != null) { - EventSystem[] eventSystems = FindObjectUtility.FindObjectsOfType<EventSystem>(); + EventSystem[] eventSystems = FindObjectUtility.FindObjectsByType<EventSystem>(); if (eventSystems.Length == 0) { @@ -644,7 +644,7 @@ public static MixedRealityToolkit Instance // // To avoid returning null in this case, make sure to search the scene for MRTK. // We do this only when in editor to avoid any performance cost at runtime. - List<MixedRealityToolkit> mrtks = new List<MixedRealityToolkit>(FindObjectUtility.FindObjectsOfType<MixedRealityToolkit>()); + List<MixedRealityToolkit> mrtks = new List<MixedRealityToolkit>(FindObjectUtility.FindObjectsByType<MixedRealityToolkit>()); // Sort the list by instance ID so we get deterministic results when selecting our next active instance mrtks.Sort(delegate (MixedRealityToolkit i1, MixedRealityToolkit i2) { return i1.GetInstanceID().CompareTo(i2.GetInstanceID()); }); diff --git a/Assets/MRTK/Core/Utilities/Async/MRTK.Async.asmdef b/Assets/MRTK/Core/Utilities/Async/MRTK.Async.asmdef index c3f00b605ac..69fc2e0957a 100644 --- a/Assets/MRTK/Core/Utilities/Async/MRTK.Async.asmdef +++ b/Assets/MRTK/Core/Utilities/Async/MRTK.Async.asmdef @@ -1,5 +1,6 @@ { "name": "Microsoft.MixedReality.Toolkit.Async", + "rootNamespace": "", "references": [], "includePlatforms": [], "excludePlatforms": [], @@ -8,6 +9,12 @@ "precompiledReferences": [], "autoReferenced": true, "defineConstraints": [], - "versionDefines": [], + "versionDefines": [ + { + "name": "Unity", + "expression": "2021.3.18", + "define": "UNITY_2021_3_18_OR_NEWER" + } + ], "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/MRTK/Core/Utilities/CameraCache.cs b/Assets/MRTK/Core/Utilities/CameraCache.cs index 528bd225e7b..fe1b2e7cd56 100644 --- a/Assets/MRTK/Core/Utilities/CameraCache.cs +++ b/Assets/MRTK/Core/Utilities/CameraCache.cs @@ -38,7 +38,7 @@ public static Camera Main Debug.Log("No main camera found. Searching for cameras in the scene."); // If no main camera was found, try to determine one. - Camera[] cameras = FindObjectUtility.FindObjectsOfType<Camera>(); + Camera[] cameras = FindObjectUtility.FindObjectsByType<Camera>(); if (cameras.Length == 0) { Debug.LogWarning("No cameras found. Creating a \"MainCamera\"."); diff --git a/Assets/MRTK/Core/Utilities/FindObjectUtility.cs b/Assets/MRTK/Core/Utilities/FindObjectUtility.cs index 1948a8981a3..89010e1b677 100644 --- a/Assets/MRTK/Core/Utilities/FindObjectUtility.cs +++ b/Assets/MRTK/Core/Utilities/FindObjectUtility.cs @@ -6,27 +6,54 @@ namespace Microsoft.MixedReality.Toolkit.Utilities { + /// <summary> + /// A static utility used to avoid deprecated Find Object functions in favor of replacements introduced in Unity >= 2021.3.18. + /// </summary> public static class FindObjectUtility { + /// <summary> + /// Returns the first object matching the specified type. + /// </summary> + /// <remarks> + /// If Unity >= 2021.3.18, calls FindFirstObjectByType. Otherwise calls FindObjectOfType. + /// </remarks> + /// <param name="includeInactive">If true, inactive objects will be included in the search. False by default.</param> public static T FindObjectByType<T>(bool includeInactive = false) where T : Component { #if UNITY_2021_3_18_OR_NEWER - return UnityEngine.Object.FindFirstObjectByType<T>(includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude); + return UnityEngine.Object.FindFirstObjectByType<T>(includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude); #else return UnityEngine.Object.FindObjectOfType<T>(includeInactive); #endif } - public static T[] FindObjectsOfType<T>(bool includeInactive = false, bool sort = true) where T : Component + /// <summary> + /// Returns all objects matching the specified type. + /// </summary> + /// <remarks> + /// If Unity >= 2021.3.18, calls FindObjectsByType. Otherwise calls FindObjectsOfType. + /// </remarks> + /// <param name="includeInactive">If true, inactive objects will be included in the search. False by default.</param> + /// <param name="sort">If false, results will not sorted by InstanceID. True by default.</param> + public static T[] FindObjectsByType<T>(bool includeInactive = false, bool sort = true) where T : Component { #if UNITY_2021_3_18_OR_NEWER - return UnityEngine.Object.FindObjectsByType<T>(includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude, sort ? FindObjectsSortMode.InstanceID : FindObjectsSortMode.None); + return UnityEngine.Object.FindObjectsByType<T>(includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude, sort ? FindObjectsSortMode.InstanceID : FindObjectsSortMode.None); #else return UnityEngine.Object.FindObjectsOfType<T>(includeInactive); #endif } - public static UnityEngine.Object[] FindObjectsOfType(Type type, bool includeInactive = false, bool sort = true) + /// <summary> + /// Returns all objects matching the specified type. + /// </summary> + /// <remarks> + /// If Unity >= 2021.3.18, calls FindObjectsByType. Otherwise calls FindObjectsOfType. + /// </remarks> + /// <param name="includeInactive">If true, inactive objects will be included in the search. False by default.</param> + /// <param name="sort">If false, results will not sorted by InstanceID. True by default.</param> + /// <param name="type">The type to search for.</param> + public static UnityEngine.Object[] FindObjectsByType(Type type, bool includeInactive = false, bool sort = true) { #if UNITY_2021_3_18_OR_NEWER return UnityEngine.Object.FindObjectsByType(type, includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude, sort ? FindObjectsSortMode.InstanceID : FindObjectsSortMode.None); diff --git a/Assets/MRTK/Extensions/SceneTransitionService/SceneTransitionService.cs b/Assets/MRTK/Extensions/SceneTransitionService/SceneTransitionService.cs index c61ec50060c..b6155274472 100644 --- a/Assets/MRTK/Extensions/SceneTransitionService/SceneTransitionService.cs +++ b/Assets/MRTK/Extensions/SceneTransitionService/SceneTransitionService.cs @@ -422,7 +422,7 @@ private List<Camera> GatherFadeTargetCameras() { case CameraFaderTargets.All: // Add every single camera in all scenes - targetCameras.AddRange(FindObjectUtility.FindObjectsOfType<Camera>()); + targetCameras.AddRange(FindObjectUtility.FindObjectsByType<Camera>()); break; case CameraFaderTargets.Main: @@ -430,7 +430,7 @@ private List<Camera> GatherFadeTargetCameras() break; case CameraFaderTargets.UI: - foreach (Canvas canvas in FindObjectUtility.FindObjectsOfType<Canvas>()) + foreach (Canvas canvas in FindObjectUtility.FindObjectsByType<Canvas>()) { switch (canvas.renderMode) { diff --git a/Assets/MRTK/SDK/Editor/Migration/BoundsControlMigrationHandler.cs b/Assets/MRTK/SDK/Editor/Migration/BoundsControlMigrationHandler.cs index 6a8223ac68b..378773d9451 100644 --- a/Assets/MRTK/SDK/Editor/Migration/BoundsControlMigrationHandler.cs +++ b/Assets/MRTK/SDK/Editor/Migration/BoundsControlMigrationHandler.cs @@ -297,7 +297,7 @@ private void MigrateAppBar(BoundingBox boundingBox, BoundsControl boundsControl) { // note: this might be expensive for larger scenes but we don't know where the appbar is // placed in the hierarchy so we have to search the scene for it - AppBar[] appBars = FindObjectUtility.FindObjectsOfType<AppBar>(); + AppBar[] appBars = FindObjectUtility.FindObjectsByType<AppBar>(); for (int i = 0; i < appBars.Length; ++i) { AppBar appBar = appBars[i]; diff --git a/Assets/MRTK/SDK/Experimental/Features/Utilities/WorldAnchorManager.cs b/Assets/MRTK/SDK/Experimental/Features/Utilities/WorldAnchorManager.cs index f1333dd9d71..2b429e01cfc 100644 --- a/Assets/MRTK/SDK/Experimental/Features/Utilities/WorldAnchorManager.cs +++ b/Assets/MRTK/SDK/Experimental/Features/Utilities/WorldAnchorManager.cs @@ -336,7 +336,7 @@ public void RemoveAllAnchors() Debug.LogWarning("[WorldAnchorManager] RemoveAllAnchors called before anchor store is ready."); } - var anchors = FindObjectUtility.FindObjectsOfType<WorldAnchor>(); + var anchors = FindObjectUtility.FindObjectsByType<WorldAnchor>(); if (anchors == null) { diff --git a/Assets/MRTK/SDK/Experimental/ServiceManagers/Input/Scripts/InputSystemManager.cs b/Assets/MRTK/SDK/Experimental/ServiceManagers/Input/Scripts/InputSystemManager.cs index 740cebf22aa..56093bef03d 100644 --- a/Assets/MRTK/SDK/Experimental/ServiceManagers/Input/Scripts/InputSystemManager.cs +++ b/Assets/MRTK/SDK/Experimental/ServiceManagers/Input/Scripts/InputSystemManager.cs @@ -66,7 +66,7 @@ private void InitializeManager() Initialize<IMixedRealityRaycastProvider>(profile.RaycastProviderType, args: args); - EventSystem[] eventSystems = FindObjectUtility.FindObjectsOfType<EventSystem>(); + EventSystem[] eventSystems = FindObjectUtility.FindObjectsByType<EventSystem>(); if (eventSystems.Length == 0) { diff --git a/Assets/MRTK/Services/InputSystem/MixedRealityInputSystem.cs b/Assets/MRTK/Services/InputSystem/MixedRealityInputSystem.cs index 09541171cf8..8216fb3e573 100644 --- a/Assets/MRTK/Services/InputSystem/MixedRealityInputSystem.cs +++ b/Assets/MRTK/Services/InputSystem/MixedRealityInputSystem.cs @@ -170,7 +170,7 @@ public override void Initialize() return; } - BaseInputModule[] inputModules = FindObjectUtility.FindObjectsOfType<BaseInputModule>(); + BaseInputModule[] inputModules = FindObjectUtility.FindObjectsByType<BaseInputModule>(); if (inputModules.Length == 0) { diff --git a/Assets/MRTK/Services/TeleportSystem/MixedRealityTeleportSystem.cs b/Assets/MRTK/Services/TeleportSystem/MixedRealityTeleportSystem.cs index ec54b294a13..01e4dc6a8fe 100644 --- a/Assets/MRTK/Services/TeleportSystem/MixedRealityTeleportSystem.cs +++ b/Assets/MRTK/Services/TeleportSystem/MixedRealityTeleportSystem.cs @@ -60,7 +60,7 @@ private void InitializeInternal() #if UNITY_EDITOR if (!UnityEditor.EditorApplication.isPlaying) { - var eventSystems = FindObjectUtility.FindObjectsOfType<EventSystem>(); + var eventSystems = FindObjectUtility.FindObjectsByType<EventSystem>(); if (eventSystems.Length == 0) { diff --git a/Assets/MRTK/Tests/EditModeTests/Core/MixedRealityToolkitTests.cs b/Assets/MRTK/Tests/EditModeTests/Core/MixedRealityToolkitTests.cs index 78a09f0a167..4f9e0e3d48e 100644 --- a/Assets/MRTK/Tests/EditModeTests/Core/MixedRealityToolkitTests.cs +++ b/Assets/MRTK/Tests/EditModeTests/Core/MixedRealityToolkitTests.cs @@ -477,7 +477,7 @@ public void TestCreateMultipleInstancesInMultipleScenes() _ = new GameObject("MixedRealityToolkit").AddComponent<MixedRealityToolkit>(); } - MixedRealityToolkit[] instances = FindObjectUtility.FindObjectsOfType<MixedRealityToolkit>(); + MixedRealityToolkit[] instances = FindObjectUtility.FindObjectsByType<MixedRealityToolkit>(); for (int i = 0; i < instances.Length; i++) { MixedRealityToolkit.SetActiveInstance(instances[i]); diff --git a/Assets/MRTK/Tests/PlayModeTests/ChangeActiveProfileTests.cs b/Assets/MRTK/Tests/PlayModeTests/ChangeActiveProfileTests.cs index 0609ac44a55..1ef395587cf 100644 --- a/Assets/MRTK/Tests/PlayModeTests/ChangeActiveProfileTests.cs +++ b/Assets/MRTK/Tests/PlayModeTests/ChangeActiveProfileTests.cs @@ -151,7 +151,7 @@ public IEnumerator VerifyPlayspaceChildren() int uiRaycastCameraCount = 0; // Confirm that we have one UIRaycastCamera. Debug.Log("Validating UIRaycastCamera count."); - Camera[] cameras = FindObjectUtility.FindObjectsOfType<Camera>(); + Camera[] cameras = FindObjectUtility.FindObjectsByType<Camera>(); foreach (Camera camera in cameras) { if ("UIRaycastCamera" == camera.name) diff --git a/Assets/MRTK/Tests/TestUtilities/PlayModeTestUtilities.cs b/Assets/MRTK/Tests/TestUtilities/PlayModeTestUtilities.cs index d3210b0aecd..fbbd42ca517 100644 --- a/Assets/MRTK/Tests/TestUtilities/PlayModeTestUtilities.cs +++ b/Assets/MRTK/Tests/TestUtilities/PlayModeTestUtilities.cs @@ -266,7 +266,7 @@ public static IEnumerator SetupMrtkWithoutGlobalInputHandlers() UnityEngine.Object.Destroy(CoreServices.InputSystem.GazeProvider.GazeCursor as Behaviour); CoreServices.InputSystem.GazeProvider.Enabled = false; - var diagnosticsVoiceControls = FindObjectUtility.FindObjectsOfType<DiagnosticsSystemVoiceControls>(); + var diagnosticsVoiceControls = FindObjectUtility.FindObjectsByType<DiagnosticsSystemVoiceControls>(); foreach (var diagnosticsComponent in diagnosticsVoiceControls) { diagnosticsComponent.enabled = false; diff --git a/Assets/MRTK/Tests/TestUtilities/TestUtilities.cs b/Assets/MRTK/Tests/TestUtilities/TestUtilities.cs index fbc6918ec5b..7815cd24111 100644 --- a/Assets/MRTK/Tests/TestUtilities/TestUtilities.cs +++ b/Assets/MRTK/Tests/TestUtilities/TestUtilities.cs @@ -274,7 +274,7 @@ public static void InitializeMixedRealityToolkitAndCreateScenes(bool useDefaultP public static void InitializeCamera() { - Camera[] cameras = FindObjectUtility.FindObjectsOfType<Camera>(); + Camera[] cameras = FindObjectUtility.FindObjectsByType<Camera>(); if (cameras.Length == 0) { diff --git a/Assets/MRTK/Tools/OptimizeWindow/MixedRealityOptimizeWindow.cs b/Assets/MRTK/Tools/OptimizeWindow/MixedRealityOptimizeWindow.cs index eb3e9704260..07bc9f94ebe 100644 --- a/Assets/MRTK/Tools/OptimizeWindow/MixedRealityOptimizeWindow.cs +++ b/Assets/MRTK/Tools/OptimizeWindow/MixedRealityOptimizeWindow.cs @@ -506,13 +506,13 @@ private void RenderOptimalRenderingSection() private void AnalyzeScene() { - sceneLights = FindObjectUtility.FindObjectsOfType<Light>(); + sceneLights = FindObjectUtility.FindObjectsByType<Light>(); AnalyzeRaycastTargets(); // TODO: Consider searching for particle renderers count? - MeshesOrderedByPolyCountDesc = FindObjectUtility.FindObjectsOfType<MeshFilter>() + MeshesOrderedByPolyCountDesc = FindObjectUtility.FindObjectsByType<MeshFilter>() .Where(f => f != null && f.sharedMesh != null) .OrderByDescending(f => f.sharedMesh.triangles.Length) .ToArray(); @@ -537,8 +537,8 @@ private void AnalyzeScene() private void AnalyzeRaycastTargets() { - totalRaycastableUnityUI_Text = FindObjectUtility.FindObjectsOfType<Text>().Where(t => t.raycastTarget).Count(); - totalRaycastableUnityUI_TMP_UGUI = FindObjectUtility.FindObjectsOfType<TextMeshProUGUI>().Where(t => t.raycastTarget).Count(); + totalRaycastableUnityUI_Text = FindObjectUtility.FindObjectsByType<Text>().Where(t => t.raycastTarget).Count(); + totalRaycastableUnityUI_TMP_UGUI = FindObjectUtility.FindObjectsByType<TextMeshProUGUI>().Where(t => t.raycastTarget).Count(); } private void DiscoverMaterials() @@ -591,7 +591,7 @@ private bool CanConvertMaterial(Material asset) private static void DisableRaycastTargetAll<T>() where T : Graphic { - DisableRaycastTarget(FindObjectUtility.FindObjectsOfType<T>()); + DisableRaycastTarget(FindObjectUtility.FindObjectsByType<T>()); } private static void DisableRaycastTarget(Graphic[] elements) diff --git a/Assets/MRTK/Tools/Toolbox/MixedRealityToolboxWindow.cs b/Assets/MRTK/Tools/Toolbox/MixedRealityToolboxWindow.cs index 89ccb0ccea1..96c8999b066 100644 --- a/Assets/MRTK/Tools/Toolbox/MixedRealityToolboxWindow.cs +++ b/Assets/MRTK/Tools/Toolbox/MixedRealityToolboxWindow.cs @@ -354,7 +354,7 @@ private static bool IsSearchMatch(string field, string searchContent) private void FindAllMRTKCanvases() { - canvasUtilities = FindObjectUtility.FindObjectsOfType<Input.Utilities.CanvasUtility>(); + canvasUtilities = FindObjectUtility.FindObjectsByType<Input.Utilities.CanvasUtility>(); dropdownValues = new string[canvasUtilities.Length]; for (int i = 0; i < canvasUtilities.Length; i++) From d52771038bdc28c529f638d12af73f834b19e0d9 Mon Sep 17 00:00:00 2001 From: Marlena Klein <marlenaklein@microsoft.com> Date: Wed, 25 Oct 2023 11:10:57 -0700 Subject: [PATCH 3/3] Fix Oculus call --- Assets/MRTK/Providers/Oculus/XRSDK/OculusXRSDKDeviceManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/MRTK/Providers/Oculus/XRSDK/OculusXRSDKDeviceManager.cs b/Assets/MRTK/Providers/Oculus/XRSDK/OculusXRSDKDeviceManager.cs index 65ccc28a9b0..fed61aa2e3d 100644 --- a/Assets/MRTK/Providers/Oculus/XRSDK/OculusXRSDKDeviceManager.cs +++ b/Assets/MRTK/Providers/Oculus/XRSDK/OculusXRSDKDeviceManager.cs @@ -207,7 +207,7 @@ public override void Update() private void SetupInput() { - cameraRig = FindObjectUtility.FindObjectOfType<OVRCameraRig>(); + cameraRig = FindObjectUtility.FindObjectsByType<OVRCameraRig>(); if (cameraRig == null) { var mainCamera = CameraCache.Main;