Creating a detached (second) window for UI or other non-essentials?

In my current game my UI is only a typical canvas and renders within the main game window. When the player opens the menu it covers most of the content in the game.

I was hoping to improve this design by detaching the UI entirely from the game’s main viewport and having a second window devoted entirely to UI that the user could position on their desktop and leave visible at all times.

After days of testing and research I could not find any way to accomplish this elegantly, and Unity only supports multtiple windows in fullscreen mode.

Is it possible to have two resizeable windows (one for 3d viewport and the other for a UI canvas)?

If this is not possible then are there alternatives? I was thinking of using an external GUI toolkit to write an entire UI application and communicate to the Unity game via DMA or TCP but this sounds like it would be overwhelming and very limited.

Can anyone help me understand how to create a detached native Unity UI for my game?

You would probably need to dig into some very OS specific apis. For example, for Windows: Use the AppWindow class to show secondary windows for an app - Windows apps | Microsoft Learn.

1 Like