xr-mode-test

Test XR session lifecycle and mode transitions. Use when verifying XR enter/exit behavior, testing mode-dependent features, or debugging session state issues.

npx skills add https://github.com/facebook/immersive-web-sdk --skill xr-mode-test

XR Mode Toggle Test

Test the XR session lifecycle by entering and exiting XR mode, verifying state transitions at each step.

Test Flow

1. Check Initial State

Use mcp__iwsdk-dev-mcp__xr_get_session_status to confirm starting state:

  • In 2D mode: no active session
  • Already in XR: note current state before proceeding

2. Enter XR Mode

Use mcp__iwsdk-dev-mcp__xr_accept_session to enter XR.

3. Verify XR Session Active

Use mcp__iwsdk-dev-mcp__xr_get_session_status to confirm:

  • Session is active
  • visibilityState is "visible"

4. Optional: Verify Input Devices

Use mcp__iwsdk-dev-mcp__xr_get_device_state to check:

  • Controllers are connected
  • Headset position is valid

5. Exit XR Mode

Use mcp__iwsdk-dev-mcp__xr_end_session to leave XR.

6. Verify Session Ended

Use mcp__iwsdk-dev-mcp__xr_get_session_status to confirm:

  • No active session
  • Back to 2D mode

7. Check Application State

Use mcp__iwsdk-dev-mcp__browser_get_console_logs to verify:

  • Any mode-switch logs fired correctly
  • Application state reset as expected (if applicable)

Arguments

If $ARGUMENTS is provided, use it as a log pattern filter for step 7.

Example: /xr-mode-test "MODE|RESET" will filter logs for "MODE" or "RESET" patterns.

Expected Results

Report:

  • Whether each step passed or failed
  • Any unexpected state or errors
  • Time taken for session transitions
  • Relevant log messages from the application

More skills from facebook

gc-safe-coding
facebook
For the full explanation and rationale, see doc/GCSafeCoding.md .
app-review-prep
facebook
Prepare a Meta app for App Review — checks current status, outstanding requirements, granted privileges, and submission history. Use before submitting an app…
api-health
facebook
Monitor API health for a Meta app — check rate limits, call volume, and API deprecations. Use to diagnose throttling, plan capacity, or prepare for API version…
debug-webhooks
facebook
Troubleshoot webhook issues for a Meta app — inspect active subscriptions, identify misconfiguration, and send test payloads to verify delivery. Use when…
api-integration
facebook
Guide a developer through setting up a Meta API integration from scratch — discovers the right APIs, fetches setup guides, authentication requirements,…
webhook-setup
facebook
Set up webhooks for a Meta app end-to-end — discover available topics, subscribe to fields, and verify with a test payload. Use when configuring webhooks for…
test-ui
facebook
Test UI system (PanelUI, ScreenSpace) against the poke example using the iwsdk CLI.
flags
facebook
Inspect and compare feature flag states across React release channels. View all flags across channels (www, www-modern, canary, next, experimental, rn variants) or compare specific channels with --diff Output formats include default table view, CSV export, and cleanup status grouping Flag states indicated by symbols: enabled (✅), disabled (❌), variant testing (🧪), profiling-only (📊) Common pitfall: __VARIANT__ flags are tested in both states on www; use --diff to spot meaningful...