RealityView content disappears when selecting Lock In Place on visionOS

Hi,

I'm experiencing an issue where all RealityView content disappears when the user selects "Lock In Place" from the window management menu (long press on close button). "Follow Me" works correctly and this happens in Testflight builds only not reproducible when I run locally

I have reproduced this with a minimal project containing nothing but a simple red cube — no custom anchors, no app state, no dependencies.

Steps to Reproduce:

  1. Open an ImmersiveSpace.
  2. A red cube is placed 1m in front of the user via RealityView.
  3. Long press the X button on any floating window

Select "Lock In Place". The cube disappears immediately.

Expected: Cube remains visible after window is locked

Actual: Cube disappears.

Minimal reproducible code:

    var body: some View {
        RealityView { content in
            let cube = ModelEntity(
                mesh: .generateBox(size: 0.3),
                materials: [SimpleMaterial(color: .red, isMetallic: false)]
            )
            cube.setPosition(SIMD3<Float>(0, 1.5, -1), relativeTo: nil)
            content.add(cube)
        }
    }
}

Device: Apple Vision Pro

visionOS version: Vision OS 26.2 (23N301)

Xcode version: Version 26.3 (17C529)

Is this a known issue? Is there a recommended workaround to preserve RealityView content during Lock In Place transitions?

Thank you!

Answered by Kunal07 in 884980022

Hi Michael,

Thanks for confirming the behavior on the TestFlight build.

You're right that from a robustness standpoint our app already handles ImmersiveSpace dismissal gracefully, we handle the Digital Crown case and the state sync. So in that sense, no workaround is strictly needed to avoid a broken state.

However, I'd like to flag that the graceful-dismissal path isn't really the concern here. My expectation for "Lock In Place" is that it behaves like it does for regular windows, the window gets pinned to a world anchor and stays put, while the rest of the scene (including the ImmersiveSpace and its content) continues as-is. "Follow Me" already works this way and doesn't tear down the ImmersiveSpace, so the asymmetry feels unintentional. The fact that it only reproduces on TestFlight/Release builds and not on Debug also suggests this isn't by design.

So while I agree the app-side handling is fine, I'd push back that the ImmersiveSpace being dismissed as a side effect of locking a window is itself the bug, not just something to handle. Could you confirm whether the dismissal behavior is intended, or whether FB22290781 will stay open as an OS-level issue? I'd like to make sure it doesn't get closed as "works as designed," because from a user-experience perspective, Lock In Place tearing down immersive content is surprising and inconsistent with Follow Me.

Happy to provide anything else that would help the investigation.

Thanks,

Kunal

Hey @Kunal07,

Thank you for filing your Bug Report (FB22290781) and including a sample project and a video, however, I'm unable to reproduce this bug. Whenever I was in the immersive space the red cube was there. I tried running the app in the Release and Debug configurations.

In the video I see the following:

  • at 00:10, you lock the window and the cube does not disappear.
  • at 00:18, you close the immersive space and the cube disappears with the immersive space.
  • at 00:27, you reopen the immersive space and the cube appears.

Your sample app provides a fully immersive space. You are in the immersive space when you no longer see passthrough. It might be more clear if you replace the static "Open Immersive Space" button with ToggleImmersiveSpaceButton(). Can you do this and reproduce the issue with a video?

If you're able to reproduce this, a video and a visionOS Sysdiagnose would be very helpful.

Thanks,
Michael

Hi Michael,

Thank you for looking into this. To clarify, this issue is not reproducible when running locally (Debug or Release). It only occurs in TestFlight distribution builds.

In our production app as well as the minimal sample project, the behavior is consistent — the bug only appears when installed via TestFlight, not when run directly from Xcode.

Regarding the video - at 0:31 you can see the cube briefly disappears after Lock In Place. That is the moment we are referring to.

Could you please try the following:

  1. Archive the sample project

  2. Upload to TestFlight

  3. Install via TestFlight on the device

  4. Reproduce the Lock In Place steps

I am confident it will be reproducible in that configuration. I am happy to provide another screen recording specifically showing this if that would help.

Please let me know if you need anything else.

Thanks,

Kunal

Hi Michael,

As requested, I updated the sample app to use ToggleImmersiveSpaceButton instead of a manual open/close button.

I rebuilt the app, distributed it via TestFlight, and reproduced the issue on Apple Vision Pro.

The issue still occurs consistently.

Attachments:

  • Screen recording demonstrating the issue - TestFlight distributed Build.
  • Sysdiagnose captured after reproduction of the issue.
  • Updated sample project.

Steps to reproduce:

  1. Archive and upload a build to TestFlight.
  2. Install the application via TestFlight.
  3. Tap "Show Immersive Space".
  4. Lock the window.
  5. Tap "Hide Immersive Space".
  6. Tap "Show Immersive Space".
  7. The red cube is missing and even immersive space and window disappears for a brief moment and then appears.

Device:

  • Apple Vision Pro
  • visionOS 26.0

Xcode:

  • Version 26.3

Hey @Kunal07,

Thank you for providing us with a TestFlight build. I am seeing the behavior on the TestFlight build: locking the window in place unexpectedly closes the Immersive Space.

Because this behaves in the same way as the user closing the immersive space from the Digital Crown, I don't believe a workaround is necessary. If your applications handles this case, then it would also handle the unexpected behavior that occurs when locking in place. The provided TestFlight build handles this with the ToggleImmersiveSpace button. Let me know if you have any questions or if I've missed anything.

For others following along: Even though we're aware of this issue, we still encourage you to open a bug report, and post the FB number here once you do. The specific info you include in your bug report might help our investigation, and filing the bug report you to get notified when it is resolved.

Bug Reporting: How and Why? explains how you can open a bug report.

Thanks,
Michael

Accepted Answer

Hi Michael,

Thanks for confirming the behavior on the TestFlight build.

You're right that from a robustness standpoint our app already handles ImmersiveSpace dismissal gracefully, we handle the Digital Crown case and the state sync. So in that sense, no workaround is strictly needed to avoid a broken state.

However, I'd like to flag that the graceful-dismissal path isn't really the concern here. My expectation for "Lock In Place" is that it behaves like it does for regular windows, the window gets pinned to a world anchor and stays put, while the rest of the scene (including the ImmersiveSpace and its content) continues as-is. "Follow Me" already works this way and doesn't tear down the ImmersiveSpace, so the asymmetry feels unintentional. The fact that it only reproduces on TestFlight/Release builds and not on Debug also suggests this isn't by design.

So while I agree the app-side handling is fine, I'd push back that the ImmersiveSpace being dismissed as a side effect of locking a window is itself the bug, not just something to handle. Could you confirm whether the dismissal behavior is intended, or whether FB22290781 will stay open as an OS-level issue? I'd like to make sure it doesn't get closed as "works as designed," because from a user-experience perspective, Lock In Place tearing down immersive content is surprising and inconsistent with Follow Me.

Happy to provide anything else that would help the investigation.

Thanks,

Kunal

RealityView content disappears when selecting Lock In Place on visionOS
 
 
Q