Group Presence package
Updated: Sep 4, 2026
The
Platform SDK Group Presence Package enables users to see which friends are in joinable areas of applications and facilitates social discovery and joining. The package sets and clears user presence in joinable destinations within applications, indicating when users are in areas that support multiplayer interaction.
Friends can see presence status and join directly into these shared experiences. This functionality is currently supported only for immersive mode applications, not for 2D panel apps, and is essential for social VR experiences and multiplayer games.
Add the following to your project’s ./gradle/libs.versions.toml file:
[libraries]
# Existing lines
group-presence-kotlin = { module = "com.meta.horizon.platform.sdk:group-presence-kotlin", version.ref = "horizonPlatformSdk" }
dependencies {
// Existing lines
implementation(libs.group.presence.kotlin)
}
In Android Studio, click File > Sync Project with Gradle Files to install the package.
Click Build > Generate App Bundles or APKs > Generate APKs.
In the “External Libraries” section of your project, confirm that these packages are listed.
com.meta.horizon.platform.sdk:core-kotlin
com.meta.horizon.platform.sdk:group-presence-kotlin
Now you can initialize the Platform SDK and use Group Presence package functions in your app.
Group Presence behaves differently depending on which API you call. The panel and dialog APIs, such as launchInvitePanel and launchRejoinDialog, open a simulated dialog — launchRejoinDialog also persists the presence state you confirm:
In Meta Spatial Simulator, these APIs use a simulated dialog.
The presence-state APIs, such as set, clear, and the individual setters:
These read and write local sample data, work offline, and persist across calls. Reset it with the common.reset_data command.
The invite and destination APIs, such as sendInvites, getInvitableUsers, and getDestinations:
These call the Meta backend. Signed in they return real responses; signed out they return an authentication error rather than sample data.
The notification flows, invitationsSent and joinIntentReceived: