@A, a quick note from the platform side, with the caveat that I haven’t used in Vision Pro code so the workaround needs verification on a headset.
The reason setScreenShare silently no-ops on visionOS is architectural. The Swift SDK’s iOS path uses ReplayKit, and macOS uses ScreenCaptureKit. visionOS doesn’t expose ReplayKit the same way iOS does, and the demo app doesn’t ship a broadcast extension target for visionOS, so the call accepts true and flips the local flag but nothing actually publishes.
I have draw something for you to give you better clarity.
The workaround without waiting for SDK support is to capture frames yourself via ScreenCaptureKit (available on visionOS 2.0+) and push them into a LocalVideoTrack manually. Use SCContentSharingPicker, set up an SCStream with a video output handler, convert each CMSampleBuffer to the pixel format LiveKit expects, and publish that track directly. That sidesteps the iOS broadcast-extension assumption entirely.