@Vision Pro Engineer This fully answers the architecture question — thank you. Custom Metal surface shaders on visionOS with foveation + CompositorServices interop is exactly what we needed to hear, and the LowLevelTexture → ShaderGraphMaterial route (with the tessellated-grid geometry-modifier trick for approximate depth) is clear.
The one thing that'd be transformative for us: a first-class way to render LowLevelRenderer content inside an existing RealityKit scene with shared depth — true mutual occlusion against normal entities, rather than texture-on-a-mesh with approximated depth. Filed as a feature request, FB23042990 — essentially a "LowLevelRendererComponent" or a render-callback hook on RealityView. Our use case is mixing custom-rendered content (splats, custom Metal materials, dynamic meshes) with standard entities in one coherent scene on visionOS.
Still very interested in the surface-shader ABI follow-up when you have it — the function signature contract (reserved vs. available buffer/texture slots, how camera/instance uniforms arrive, how LowLevelArgumentTable maps to argument indices), ideally with a pointer to sample code. Thanks again!
Topic:
Reality Composer Pro
SubTopic:
RealityKit & Reality Composer Pro Q&A