void IFunctionalityProvider.LoadProvider() { ARFoundationSessionProvider.RequireARSession(); var currentSession = ARFoundationSessionProvider.currentSession; if (currentSession) { m_ARReferencePointManager = UnityEngine.Object.FindObjectOfType <ARReferencePointManager>(); if (!m_ARReferencePointManager) { m_ARReferencePointManager = currentSession.gameObject.AddComponent <ARReferencePointManager>(); m_ARReferencePointManager.hideFlags = HideFlags.DontSave; m_NewARReferencePointManager = m_ARReferencePointManager; } #if ARFOUNDATION_3_0_1_OR_NEWER m_ARReferencePointManager.anchorsChanged += ARReferencePointManagerOnReferencePointsChanged; #else m_ARReferencePointManager.referencePointsChanged += ARReferencePointManagerOnReferencePointsChanged; #endif } }