/// <inheritdoc />
        public override bool TryCreateLocalizationSession(IPeerConnection peerConnection, MarkerVisualLocalizationSettings settings, out ISpatialLocalizationSession session)
        {
            session = null;
            if (markerVisual == null)
            {
                markerVisualGameObject = Instantiate(MarkerVisualPrefab);
                markerVisual           = markerVisualGameObject.GetComponentInChildren <IMarkerVisual>();
                if (markerVisual == null)
                {
                    Debug.LogError("Marker Visual Prefab did not contain an IMarkerVisual component.");
                    return(false);
                }
            }

            if (cameraTransform == null)
            {
                cameraTransform = Camera.main.transform;
                if (cameraTransform == null)
                {
                    Debug.LogError("Unable to determine camera's location in the scene.");
                    return(false);
                }
            }

            session = new LocalizationSession(this, settings, peerConnection, debugLogging);
            return(true);
        }
 /// <inheritdoc />
 public override bool TryCreateLocalizationSession(IPeerConnection peerConnection, WorldAnchorSpatialLocalizationSettings settings, out ISpatialLocalizationSession session)
 {
     session = new LocalizationSession(this, settings, peerConnection);
     return(true);
 }
 /// <inheritdoc />
 public override bool TryCreateLocalizationSession(IPeerConnection peerConnection, MarkerVisualDetectorLocalizationSettings settings, out ISpatialLocalizationSession session)
 {
     markerDetector = (markerDetector == null) ? MarkerDetector as IMarkerDetector : markerDetector;
     session        = new LocalizationSession(this, settings, peerConnection, debugLogging);
     return(true);
 }
 public override bool TryCreateLocalizationSession(IPeerConnection peerConnection, MarkerDetectorLocalizationSettings settings, out ISpatialLocalizationSession session)
 {
     session = new LocalizationSession(this, settings);
     return(true);
 }