Improve the in-editor creative feedback process by allowing fullscreen multi-display content rendering, which allows final designs to be tweaked accurately without having to make a build or squint into a scaled-down window.
Throw content up on large public screens (using multi-display pinning) in-editor without showing any signs of editor toolbars menus etc, so only the final canvas gets rendered.
Display very high resolution (more than 8K) content rendered 1:1 (without scaling) for better client preview.
To do this we had to get around some limitations of the Unity editor, and while there were a couple of good plugins for Unity that also allow full-screen game view in some ways, these did not fit our requirements and thus External Game View was created.
At RenderHeads we use External Game View on a wide range of Unity projects, and believe we have made it easy to use, light on resources and seamless to integrate. We hope you will find it as useful as we have.
Features
Fullscreen display of Game View (or other RenderTextures) in editor
Pinning this display to an external monitor
Display over several monitors
Various scaling modes:
1:1 Pixel perfect
Scale to fit single display
Scale to fit all displays
Custom
Supports displaying > 8K textures (GameView in Unity is limited to 8K)
Pass through most keyboard and mouse inputs
Easy to use UI, with no scripting required
Works with Unity 5.6, 2017, 2018, 2019, 2020, 2021, 2022
Works with all render pipelines including built-in, URP and HDRP
Hey, I have a possibly silly question: Does this have any use at runtime?
I’m working on some runtime-configrable multi-display functionality for Virtual Production and the built-in multi-display support is kinda garbage. If it functions at runtime, this asset looks like it may be a step in the right direction…?
Otherwise, I have a feeling you guys are the right team for a solid multi-display plugin for Unity!
“Garbage” is the wrong word… it’s just very basic without many customization options.
I’m personally working on a basic in-camera virtual production setup for Unity that requires a high level of customization about what gets displayed where.
At the moment the built-in multi-display is pretty basic. Yes, you can output cameras and canvases to up to 8 Displays, but it only works in exclusive full screen mode for starters. In my case, (and many other people’s) I need the main (0) display to be windowed, and the rest of them can default to full screen. This isn’t an option at the moment.
Then, most importantly, once a secondary display is Activated, it cannot be de-activated until you close the application. [There is this workaround]( Multi-Display: Deactivate Secondary Displays Workarounds? #:~:text=I%20finally%20got%20a%20workaround%20but%20only%20for%20Windows.), but it’s for Windows only, requires an extra exe file to be bundled with the app, and only handles a single secondary display. It’s a bit messy.
I suppose I can use a Spout plugin (Or Siphon on Mac) to allow the user (or myself) to handle the camera output manually to another application, but it’s definitely not ideal.
I hope that makes sense! I know I’m not the only person who would benefit from such a plugin.
That’s true - the multi-display feature hasn’t changed much since it was introduced years ago. I didn’t realise that it required fullscreen-exclusive mode, I thought it could also run in fullscreen-windows mode. That’s a shame. Yeah it certainly would be great to have more control here, but I guess it’s a fairly edge case for Unity so they haven’t invested time into it. It’s certainly possible to create a plugin that renders output to other monitors in windowed mode, just needs dev-time.
Thanks for bringing this to our attention. We don’t have the capacity for this right now but it may spark something in the future.
The project description says “Supports displaying > 8K textures”, but what is the maximum resolution supported on Windows 10? And what is imposing that maximum resolution, is it the GPU, the OS or something else?
We have a screen that is 15432 x 2160 that works well with built projects. I’ve created a rendertexture to which the camera outputs and try to configure that to go to the external game view at runtime. Everytime, regardless of combination of settings Unity will crash when entering runtime. I have logs available if that helps. What can I do?
Hi, I have a question: Would an external game view of yours could be recorded using Unity recorder? I should be able to tag the external game view and use a custom resolution identical to the external game view in the recorder right? Looking to record something close to 12000x1900. Thanks!
I’m sorry that you’re having difficulty. What is the actual resolution of the texture that you are trying to use? Have you tried much smaller resolutions? Please could you post the logs.
I’m sorry about the delayed response, our staff have been on holiday.
To answer your question, limiting size should just be the max render target size which is GPU dependent but mostly 16384x16384 these days. I hope that helps.
You should be able to capture a camera at a custom resolution but this is irrespective of EGV being used (tested above 8k but not sure if Unity impose any other limits).
Is there any support for getting it to use a phone simulator view? Couldn’t find a way to do it… currently having to add custom resolutions to the game view that match certain phone specs… only then will this show things properly… if I switch the built in simulation view that Unity now provide this will still use the game view to replicate which won’t look like… and not the adjusted phone simulation view.
We don’t really support simulators. It is something that might be considered in a later update, but we are a very small team so updates to our bigger assets tend to take greater priority. It does sound like you do at least have a way around it though.