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