Hi all — sharing a platform behavior I isolated while building a custom immersive video player, in case others hit it (and to ask whether it's intended).
Finding
On visionOS 27 (Xcode 27), an entity playing video via VideoPlayerComponent(videoRenderer:) gets a light-spill "screen glow" halo around its edges whenever the immersive space declares any non-nil preferredSurroundingsEffect. The halo follows the video's colors frame by frame. With no surroundings effect (nil), there is no halo.
Quick repro
Progressive immersive space + VideoPlayerComponent playing.
Add .preferredSurroundingsEffect(.dim(intensity: 0.0)) → halo appears (even though the effect is visually a no-op).
Remove it → halo disappears.
Same with .colorMultiply(_:) and preset effects.
Things I ruled out on device (Vision Pro)
ImmersiveContentBrightness (.custom(1.0) vs .automatic): no difference.
VideoPlayerComponent configuration (.stereo, spatial video mode, isPassthroughTintingEnabled) and component attach timing: no difference.
Presenting the same video via VideoMaterial: no halo. Bright white SwiftUI content: no halo.
Questions
Is this coupling intended? The preferredSurroundingsEffect docs don't mention any effect on video playback.
Is there a public way to keep a surroundings effect (e.g. room dimming) while avoiding the video light spill? I found none on VideoPlayerComponent.
Current workaround: don't declare any surroundings effect in the modes where the halo is undesirable. Also filed via Feedback Assistant(FB25130748). Curious if anyone else has seen this or knows a switch.
0
1
455