I suggest using RetainerBox and SpecatorScreenTexture.
Follow the steps:
- Wrap your widget tree with two RetainerBoxes one by one:
The root RetainerBox makes your widget invisible, and the nested one writes the widget to Material that we use as a texture for SpectatorScreen.
- Create a material for the root retainer box:
- Create a material for the second retainer box:
- Create a render target, assign it as a spectator texture, and refresh it every tick with the widget material:
- Then setup the spectator screen:
As a result, you have a widget invisible to VR, but you can see it on your monitor screen and interact with it.