Post Processing, Render Feature Support

Hi PolySpatial Team,

Is there any support for image effects/ post processing on polyspatial which can be converted to an Realitykit Equivalent?
Or writing postfx ourselves in an equivalent apple mentioned here for realitykit
Implementing Special Rendering Effects with RealityKit Postprocessing | Apple Developer Documentation

Are “Render Features” supported as part of the Universal Renderer Data. Obviously not directly but maybe through an RealityKit equivalent. Since we are currently looking how to convert our “multi pass shaders” (e.g Inverted Hull Outline shader) into PolySpatial which were previously done via Render Feature since URP is not supporting multi pass shaders.

Best regards
David

Hi @sapDavidSchrott

While RealityKit on iOS supports certain postprocess features, RealityKit for visionOS does not, and thus we’re unable to support it either. Please feel free to submit feedback to Apple about the importance of this feature to your team!

Also note that windowed and VR mode do support Unity postprocessors on this platform, so those may be viable alternatives. Depending on the effects you’re trying to achieve, you may be able to use render textures, but this certainly won’t handle all cases.

We also don’t support “Render Features” on visionOS as there’s no corresponding functionality in RealityKit. In fact, when using PolySpatial on visionOS, there really isn’t even a render pipeline for primary rendering; rather, you can think of the RealityKit based rendering as an alternative to a render pipeline, with its own set of tradeoffs and limitations.

However, for the specific case of multiple passes, you may be able to achieve a similar effect by introducing child GOs (one per pass, each with their own mesh renderer pointing at the same mesh, and each with their own material/shader) and using the sorting component to enforce a particular draw order. I’m not entirely sure if this will work but I think it’s worth trying at least!

–Tim

@timc-unity thank you for the feedback.

While RealityKit on iOS supports certain postprocess features, RealityKit for visionOS does not, and thus we’re unable to support it either. Please feel free to submit feedback to Apple about the importance of this feature to your team!

We are already assumed this, nevertheless we wanted to double check this with unity. Currently addressing/discussion this with Apple.

However, for the specific case of multiple passes, you may be able to achieve a similar effect by introducing child GOs (one per pass, each with their own mesh renderer pointing at the same mesh, and each with their own material/shader) and using the sorting component to enforce a particular draw order. I’m not entirely sure if this will work but I think it’s worth trying at least!

We had the exact same idea aswell, however as you outline it will be tricky to get the drawing order correct with the realitykit conversion.