Develop

Test with Platform SDK

Updated: Sep 5, 2026
VR Platform SDK is offered in a set of Kotlin packages you can integrate in your Android app. Each of these features can be used independently, but using multiple in combination provides more engaging VR experiences.
VR Platform SDK is supported on Meta Spatial Simulator as a sandbox for testing Platform SDK APIs with local sample data and supported backend requests. For more information about the test environment, see Spatial Simulator test environment.
Additional interactions to the environment are available via a command-line interface (CLI). For more information about the CLI, see Spatial Simulator CLI.

Sign in for backend requests

To test Platform SDK APIs that make backend requests, see Sign in to the simulator.
To reset local sample data to its default state, run:
adb shell "am broadcast -n horizon.platform.spatialsim/.CommandReceiver --es COMMAND \"common.reset_data\""

Supported features

Spatial Simulator supports the Platform SDK APIs listed below, but support is not universal.
The tables use four standard labels for recurring simulator behavior. A row that also opens a dialog states that after the label. A row whose behavior does not fit a label describes it in full.
  • Backend request: Calls the Meta backend when you are signed in. Returns an authentication error when signed out.
  • Fixed response: Returns a fixed response. Does not evaluate the request.
  • Saved locally: Reads and writes local sample data. Persists across calls.
  • adb event: Delivers a result only when you send the event over adb.

Group Presence

Use Group Presence to add multiplayer features and presence to your Android apps.
APIBehavior in Spatial Simulator
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Backend request.
Backend request.
Backend request.
Backend request.
Fixed response. Opens a simulated dialog.
Fixed response. Opens a simulated dialog.
Saved locally. Opens a simulated dialog.
Fixed response. Opens a simulated dialog.
adb event.
adb event.

IAP (In-App Purchases)

APIBehavior in Spatial Simulator
Backend request.
Saved locally. Opens a simulated dialog unless the SKU has already been purchased.
Saved locally.
Saved locally.
Backend request.

Rate and Review

APIBehavior in Spatial Simulator
Backend request.
Fixed response.

Notifications

APIBehavior in Spatial Simulator
Opens a simulated dialog that previews a notification with example action icons when actionIcon is set, or an in-headset notification toast otherwise.

Users

APIBehavior in Spatial Simulator
Backend request.
Returns the current access token when signed in. Fixed response when signed out.
Backend request when signed in. Fixed response when signed out.
Backend request.
Backend request.
Backend request.
Backend request.
Backend request.
Backend request.
Fixed response.
Saved locally. Opens a simulated dialog.
Saved locally. Opens a simulated dialog.
Fixed response.

Application

APIBehavior in Spatial Simulator
Fixed response. Opens a simulated dialog.
Returns the installed version of the calling app. Reports that version as both current and latest.
Saved locally.
Saved locally.
Saved locally.
Saved locally.

Application Lifecycle

User Age Category

APIBehavior in Spatial Simulator
Backend request.

Asset File

Use Asset File to manage downloadable content and language packs for your Android apps.
APIBehavior in Spatial Simulator
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Saved locally.
Receives progress updates from simulated downloads and the asset_file.download_update adb event.

Language Pack

Use Language Pack to manage localized content and language switching for your Android apps. Language Pack APIs work in conjunction with Asset File APIs - language packs are stored as assets with assetType of language_pack.
APIBehavior in Spatial Simulator
Saved locally.
Saved locally.
APIBehavior in Spatial Simulator
Fixed response.
Fixed response. Opens a simulated dialog.

Achievements

APIBehavior in Spatial Simulator
Backend request.
Backend request.
Backend request.
Backend request.
Fixed response.
Backend request.
Backend request.

Leaderboards

APIBehavior in Spatial Simulator
Backend request.
Backend request.
Backend request.
Backend request.
Backend request.
Backend request.

Abuse Report

APIBehavior in Spatial Simulator
Accepts a valid response value without changing simulator state. Invalid request data returns an error.

Device Application Integrity

Use Device Application Integrity to verify device and application integrity for your Android apps.
APIBehavior in Spatial Simulator
Checks the nonce length and allowed characters, then returns a fixed simulated integrity token. Does not perform real integrity verification.

Known limitations

Other known limitations of the VR Platform SDK integration on Spatial Simulator include:
  • Local sample data remains keyed to the seeded test user, Sir Lancelot.
  • The database cannot be cleared entirely. It can only be reset to its default state using CLI commands.
  • UI dialogs are simplified simulations of the actual device experience.
  • Some APIs use local sample data. See the tables above for the behavior of each API.