/// <summary> /// Frees resources used by the InteractivityManager. /// </summary> public static void Dispose() { InteractivityManager interactivityManager = InteractivityManager.SingletonInstance; if (interactivityManager != null) { interactivityManager.OnInteractivityStateChanged -= HandleInteractivityStateChangedInternal; #if !UNITY_WSA && !UNITY_EDITOR // Run initialization in another thread. backgroundWorker.DoWork -= BackgroundWorkerDoWork; #endif } if (queuedEvents != null) { queuedEvents.Clear(); } previousRunInBackgroundValue = true; pendingGoInteractive = false; outstandingSetDefaultSceneRequest = string.Empty; if (outstandingCreateGroupsRequests != null) { outstandingCreateGroupsRequests.Clear(); } outstandingRequestsCompleted = false; lastCheckForOutstandingRequestsTime = -1; processedSerializedProperties = false; hasFiredGoInteractiveEvent = false; interactivityManager.Dispose(); }