Creates Colocated Connected Lenses experiences by enabling the creation and tracking of a shared space which can be used to place several users in the same coordinate frame. This shared space will be made available and can be tracked by any friend you invite to join your session via Snapcode. Users are expected to be located in the same room when using the colocated feature. This component needs to be attached to the camera.

interface ColocatedTrackingComponent {
    buildingProgress: number;
    canBuild: boolean;
    canTrack: boolean;
    enabled: boolean;
    isBuilding: boolean;
    isJoining: boolean;
    isTracking: boolean;
    onBuildFailed: event0<void>;
    onFound: event0<void>;
    onJoinFailed: event0<void>;
    onLost: event0<void>;
    onTrackingAvailable: event0<void>;
    sceneObject: SceneObject;
    uniqueIdentifier: string;
    destroy(): void;
    getSceneObject(): SceneObject;
    getTransform(): Transform;
    getTypeName(): string;
    isOfType(type: string): boolean;
    isSame(other: ScriptObject): boolean;
    join(session: MultiplayerSession): void;
    startBuilding(session: MultiplayerSession): void;
}

Hierarchy (view full)

Properties

buildingProgress: number

Provides the shared space building progress expressed in values 0-1. These values can be used to populate a progress bar. Once this value has reached 1, the colocated tracking component attempts to share the space which the user created.

canBuild: boolean

Indicates whether a shared space can be built on this device. Colocated Tracking is available on devices with ARKit/ARCore in the rear camera. This flag should be checked before attempting to build or join a session. If it is false, you should inform users: "Sorry, your device does not support shared AR experiences."

canTrack: boolean

Indicates whether a shared space is present and ready to be tracked.

enabled: boolean

If disabled, the Component will stop enacting its behavior.

isBuilding: boolean

Indicates whether a shared space building operation is in progress. Once the flag is false, the shared space still needs to be shared. Use onTrackingAvailable to determine when your space has been shared.

isJoining: boolean

Indicates whether a session joining operation is in progress.

isTracking: boolean

Indicates whether a shared space is actively being tracked. This value will be true while tracking is active, either with or without the shared space in view. This property matches the equivalent one in MarkerTrackingComponent.

onBuildFailed: event0<void>

Event fired when the building operation fails (for example, sharing your space failed). Once onTrackingAvailable event is triggered, this event will not be triggered anymore.

onFound: event0<void>

Event fired when a shared space starts being actively tracked. This property is an analogue of the onMarkerFound property in MarkerTrackingComponent.

onJoinFailed: event0<void>

Event fired when a join operation completes but no shared space was found in the session.

onLost: event0<void>

Event fired when a shared space stops being actively tracked. This property is an analogue of the onMarkerLost property in MarkerTrackingComponent.

onTrackingAvailable: event0<void>

Event fired when a shared space has been shared or received and the device can attempt to start tracking. If this event is not being triggered for a long period, the process will time out and onBuildFailed event will be triggered.

sceneObject: SceneObject
uniqueIdentifier: string

Methods

  • Destroys the component.

    Returns void

  • Returns the name of this object's type.

    Returns string

  • Returns true if the object matches or derives from the passed in type.

    Parameters

    • type: string

    Returns boolean

  • Returns true if this object is the same as other. Useful for checking if two references point to the same thing.

    Parameters

    Returns boolean

  • Joins an existing session, retrieving the shared space that the colocated session initiator just created. Throws an exception if a join or build operation is in progress or if a shared space is already present.

    Parameters

    Returns void

  • Starts the shared space building process locally in the session initiator's device.

    If a session is provided, the shared space is placed into the session after building has completed, which is required for Colocated experiences running on mobile devices. When running the experience in Lens Studio Preview or solo mode the session is not required.

    Throws an exception if a join or build operation is in progress or if a map is already present.

    Parameters

    Returns void