I’m deigning a multi-display kiosk app with Unity. One of the scenes requires each screen to show up a different thing; so far so good, as that’s easy to do by using 2 canvases.
However, the other scene requires all user interaction to be displayed on both screens at the same time. And the entire app is pretty much Unity UI. I’ve tried rendering to texture and then displaying the texture on both screens, but I loose user interaction when I render to texture. Any ideas how to do this?
To a certain extent, yes. But that’s the thing, I can’t just duplicate the screens via an output hub, driver or an external app. That’s because at some point screens show a different thing (perfectly fine in Unity) and at some point- the same. I’m just largely surprised we can render a certain canvas to a certain display, but there is no option to render to ‘all’,
Edit: Ok, I’ve figured why we can’t render to ‘all’. It’s coz each display could have it’s own resolution. Still I wish we could easily render the ui to a texture or something.
You want the ui in 2 screens? I assume you are using the multiple display system? One way is to use camera space ui, assign it to a camera and then parent another camera to the same camera so that you have 2 cameras looking at the same canvas. Then set each camera to a different display. That make sense?
I tried that: UI set to camera space, target camera is main camera (set to display 1), second camera uses same settings as main, and is a child (but set to display 2) and… I only see the UI on screen 1. The only way I sort of got this to work is to use world space UI.
@karl_jones Are there any ways to render the camera contents or a texture to a display other than using SetTargetBuffers of a camera. This is because I want to display the same content to multiple displays and duplicating cameras leads to drawing multiple times.