Pink Screen with VideoMaterial in ARKit

Hi everyone,

I'm developing an ARKit app using RealityKit and encountering an issue where a video displayed on a 3D plane shows up as a pink screen instead of the actual video content.

Here's a simplified version of my setup:

func createVideoScreen(video: AVPlayerItem, canvasWidth: Float, canvasHeight: Float, aspectRatio: Float, fitsWidth: Bool = true) -> ModelEntity {
    let width = (fitsWidth) ? canvasWidth : canvasHeight * aspectRatio
    let height = (fitsWidth) ? canvasWidth * (1/aspectRatio) : canvasHeight
    let screenPlane = MeshResource.generatePlane(width: width, depth: height)

    let videoMaterial: Material = createVideoMaterial(videoItem: video)
    let videoScreenModel = ModelEntity(mesh: screenPlane, materials: [videoMaterial])
    return videoScreenModel
}

func createVideoMaterial(videoItem: AVPlayerItem) -> VideoMaterial {
    let player = AVPlayer(playerItem: videoItem)
    let videoMaterial = VideoMaterial(avPlayer: player)
    player.play()
    return videoMaterial
}

Despite following the standard process, the video plane renders pink. Has anyone encountered this before, or does anyone know what might be causing it?

Thanks in advance!

Hello @mr_app,

Is it a pink-striped material? That is what RealityKit renders if there is a model with no material set. Is it possible that you are removing the videoMaterial you have set in the code you have shown?

Best regards,

Greg

Pink Screen with VideoMaterial in ARKit
 
 
Q