Don’t forget not everyone is going to be building a VR application from scratch or targeting VR exclusively. We want a library that is easy to convert existing applications into VR & make it easy to switch between VR and non-VR modes. The current library does this very well already. 4089, for example, will run in non-VR mode if no VR equipment is detected, and seamlessly run in VR mode when VR equipment is detected. Virtually no code, including GUI construction, needs to be changed because it is handled by the guiNode system which gets instanced in the VRApplication. I’ve been using this library commercially in 2 games on Steam, so perhaps I’m the only one seeing the added value with the current structure.
Ultimately, I don’t want to expose the developer to more complexity if we can hide it inside the library itself. VRApplication gives us more flexibility in what we can automate & integrate. I believe it is safe to assume games (including VR ones) will have a user interface, so I’d rather have it be an “opt-out” GUI management system (perhaps via preconfigureVR call) than an “opt-in”.