An instance of a Connected Lens session among a group of participants who were successfully invited into the experience.

interface MultiplayerSession {
    activeUserCount: number;
    activeUsersInfo: UserInfo[];
    allRealtimeStores: GeneralDataStore[];
    clearRealtimeStoreOwnership(store: GeneralDataStore, onSuccess: ((store: GeneralDataStore) => void), onError: ((message: string) => void)): void;
    createRealtimeStore(options: RealtimeStoreCreateOptions, onSuccess: ((store: GeneralDataStore) => void), onError: ((message: string) => void)): void;
    deleteRealtimeStore(store: GeneralDataStore, onSuccess: ((store: GeneralDataStore) => void), onError: ((message: string) => void)): void;
    getLocalUserId(localUserIdCallback: ((userId: string) => void)): void;
    getLocalUserInfo(localUserInfoCallback: ((userInfo: UserInfo) => void)): void;
    getRealtimeStoreInfo(store: GeneralDataStore): RealtimeStoreCreationInfo;
    getServerTimestamp(): number;
    getTypeName(): string;
    isOfType(type: string): boolean;
    isSame(other: ScriptObject): boolean;
    requestRealtimeStoreOwnership(store: GeneralDataStore, onSuccess: ((store: GeneralDataStore) => void), onError: ((message: string) => void)): void;
    sendMessage(message: string): void;
    sendMessageWithTimeout(message: string, timeoutMs: number): void;
}

Hierarchy (view full)

Properties

activeUserCount: number

Get the number of active users in the Session.

activeUsersInfo: UserInfo[]
allRealtimeStores: GeneralDataStore[]

Get all the Realtime Stores in the current session.

Methods

  • Sets the realtime store to unowned.

    Parameters

    Returns void

  • Creates a realtime store to share data within a multiplayer session. The realtime store will allow you to pass data between multiple connected users in the same experience, such as: syncing the position of objects in the scene, syncing the current game score, etc.

    Parameters

    Returns void

  • Deletes a realtime store.

    Parameters

    Returns void

  • Parameters

    • localUserIdCallback: ((userId: string) => void)
        • (userId): void
        • Parameters

          • userId: string

          Returns void

    Returns void

  • Gets information about the current user, which includes their display name and unique userID which can be used to identify them in session.

    Parameters

    • localUserInfoCallback: ((userInfo: UserInfo) => void)
        • (userInfo): void
        • Parameters

          Returns void

    Returns void

  • Returns a unix timestamp in milliseconds of the current time according to the server. Useful for synchronizing time-based game events across devices. -1 will be returned if session is not connected to the server.

    Returns number

  • 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

  • Requests for ownership of the realtime store.

    Parameters

    Returns void

  • Sends a string message via the realtime backend.

    Parameters

    • message: string

    Returns void

  • Sends a string message with a timeout in milliseconds. Allows messages to be dropped from the outgoing message queue when they become too old. Useful to ensure the quick delivery of subsequent messages.

    Parameters

    • message: string
    • timeoutMs: number

    Returns void