360° video playback Issue

When rendering an equirectangular video on a sphere using VideoMaterial and MeshResource.generateSphere(), there is a visible black seam line running vertically on the sphere. This appears to be at the UV seam where the texture coordinates wrap from 1.0 back to 0.0.

The same video file plays without any visible seam in other 360° video players on Vision Pro, so the issue is not with the video content itself.

Here is the relevant code:

private func createVideoSphere(content: RealityViewContent, player: AVPlayer) {

    let sphere = MeshResource.generateSphere(radius: 1000)

    let material = VideoMaterial(avPlayer: player)

    let entity = ModelEntity(mesh: sphere, materials: [material])

    entity.scale *= .init(x: -1, y: 1, z: 1) // Flip to render on inside

    content.add(entity)

    player.play()

}

The setup is straightforward: MeshResource.generateSphere(radius: 1000) generates the sphere mesh VideoMaterial(avPlayer:) provides the video texture X scale is flipped to -1 so the texture renders on the inside of the sphere The video is a standard equirectangular 360° MP4 file

What I've tried:

I attempted to create a custom sphere mesh using MeshDescriptor with duplicate vertices at the UV seam (longitude 0°/360°) to ensure proper UV continuity. However, VideoMaterial did not render any video on the custom mesh (only audio played), and the app eventually crashed. It seems VideoMaterial may have specific mesh requirements.

Questions:

  1. Is the black seam a known limitation of MeshResource.generateSphere() when used with VideoMaterial for 360° video?

  2. Is there a recommended way to eliminate this UV seam — for example, a texture addressing mode or a specific mesh configuration that works with VideoMaterial?

  3. Is there an official sample project or code example for playing 360° equirectangular video in a fully immersive space on visionOS? That would be extremely helpful as a reference.

Any guidance would be greatly appreciated. Thank you!

360° video playback Issue
 
 
Q