AR and VR
A normal monitor is a flat overlay on the screen. In AR and VR that overlay is hard to read, and it can end up somewhere you cannot look at comfortably.
World space mode draws the monitor onto a panel in the 3D scene instead. You can place that panel in front of the player, on a wall, or parent it to a controller, and it moves like any other object.
Create one
The fastest way is a menu item that ends with (World Space):
GameObject > GuardingPearSoftware > EasyPerformanceMonitor > UI Toolkit > PerformanceMonitor (World Space)
The same item exists for the log, the system window, and the tiny monitor, and each one gets its own panel.
You can also take a window you already have and set Render Mode to World Space. Screen Overlay is the normal on-screen mode, so switch back to that if you want the window on the flat screen again.
When world space is on, a flat panel appears as a child of the monitor. Move it, rotate it, and scale it in the Scene view, or parent it to the VR camera rig if it should follow the player.
Ready prefabs are in:
Assets/GUPS/EasyPerformanceMonitor/Prefabs/UIToolkit/VR
That folder has a full Monitor - VR and a Monitor - Compact - VR. Demo A and Demo B each include a VR scene you can press play on.
How the picture works
The window is drawn into a picture first, and that picture is then placed on the panel. Because the picture has a fixed size, it can look a little soft when you get very close. You will see this on Unity 2022.3 and Unity 6.0 alike.
These settings are on the window.
- Texture Width and Texture Height set the picture size in pixels. A bigger picture looks sharper when you lean in, but it also uses more memory, which matters on a phone or a standalone headset. Start with the defaults and raise them only if the panel looks soft from the distance you actually play at.
- World Width is how wide the automatic panel is, in meters. The height follows the picture shape, so the panel never stretches. Use a smaller width for a panel you hold close and a larger width for a panel across the room.
- World Surface lets you use your own mesh. Assign a
MeshRendererand the picture is shown on that mesh. Leave it empty and the tool makes a quad for you. - Surface Material is the material that shows the picture. The menu item assigns one for you, which keeps the shader in the build. The shader works with the Built-in pipeline and with URP. If you turn on world space by hand, assign a material here too, so the shader is not stripped from the build.
The panel does not catch clicks. In VR you look at it and keep playing past it.
Keys still work the same as on a flat screen: F1, F2, and F3 show and hide the windows. On a headset you may want a different input, so change Toggle Action to a button on the controller.