[Released] External Game View - Unity ♥, Improved.

External Game View
Version 1.1.2 - Released 12th July 2023

This is a workflow extension for the Unity editor which allows seamless powerful control of rendering content to external monitors.

About

We made this extension to:

  • 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

  • Native support for Windows and macOS

  • Includes full source code

Download
Asset Store
Tutorial Video

Support

Documentation

2 Likes

We have free copies to give away :slight_smile:

Send me a message if you would like to try out this new plugin and give an honest review.

2 Likes

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!

Hi @JudahMantell , This plugin is only for the Unity editor, so it doesn’t have any runtime functionality.

What exactly is bad about Unity’s multi-display system? Perhaps if we know the weaknesses we could create a solution.

thanks,

Ah, okay, I understand.

“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.

Thanks for taking the feedback, I appreciate it!

1 Like

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.

2 Likes

No problem, I appreciate you being receptive to ideas for the future!

Version 1.1.1 of External Game View has just been released!
You can find the release notes here.

Thanks,

Thanks to our first users who received a free copy in exchange for an honest review!

We’re really happy with three 5 star reviews :slight_smile:

8109200--1050074--upload_2022-5-7_11-18-46.png

Their reviews can be seen here

To anyone that has purchased this asset, we would really appreciate a review on the asset store :slight_smile:

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!

8407767--1110663--tagged.JPG

Hi @Hydrographer

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.

Kind regards,
Chris

Hi @virgiliu

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.

Kind regards,
Chris

Hi @Alb3do

I’m not sure of the answer to you question. I’ll have to get back to you on that one.

Kind regards,
Chris

Hi @Hydrographer ,

Reading back on your post, ‘built projects’ and ‘runtime’ would imply outside editor, which EGV doesn’t support. Is that what you mean?

Kind regards,
Chris

Hi @Alb3do ,

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).

Did you know that we also have an asset called AVPro Movie Capture, that might meet your needs? We provide a free, fully-featured, watermarked trial version: Releases · RenderHeads/UnityPlugin-AVProMovieCapture · GitHub

Kind regards,
Chris

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.

Hi @Slashbot64 ,

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.

Kind regards,
Chris