diff --git a/Apps/Playground/App.tsx b/Apps/Playground/App.tsx index e5b38959f..089c5452c 100644 --- a/Apps/Playground/App.tsx +++ b/Apps/Playground/App.tsx @@ -93,13 +93,15 @@ const EngineScreen: FunctionComponent = (props: ViewProps) => { (async () => { if (xrSession) { await xrSession.exitXRAsync(); - setXrSession(undefined); - setTrackingState(undefined); } else { if (rootNode !== undefined && scene !== undefined) { const xr = await scene.createDefaultXRExperienceAsync({ disableDefaultUI: true, disableTeleportation: true }) const session = await xr.baseExperience.enterXRAsync("immersive-ar", "unbounded", xr.renderTarget); setXrSession(session); + session.onXRSessionEnded.add(() => { + setXrSession(undefined); + setTrackingState(undefined); + }) setTrackingState(xr.baseExperience.camera.trackingState); xr.baseExperience.camera.onTrackingStateChanged.add((newTrackingState) => {