Provide a set of key definitions related to the PICO motion controller. With this pr, developers don’t need to install additional PICO Plugins from Fab to package standard OpenXR based applications to run on the PICO platform with PICO motion controller interactions.
The PR is currently being tested and will be submitted to Main soon. VR Template will also include support for a PICO interaction profile by default.
Question, if I implement support for the PICO 4 Controller Interaction Profile, does the PICO runtime rebind well to 3/Ultra, etc? Do you have a preferred Interaction Profile that we should support out of the box instead of PICO 4?
Victor, could you please help us to modify this pr (or I can create a new pr) to remove the G3 and Neo3 related(keys and controller model) and only keep 2 Interaction profiles, pico4 and ultra. And prefer pico4 Interaction profile. The pico4 profile can not auto map to previous devices like pico neo3, but can auto map to pico4 and pico ultra and later even pico5. (The current strategy is to be backward compatible. For example old pico4 game can run on pico5 with auto mapping controller)
To be honest, just the Pico 4 is enough, but why do we still hope to add the Ultra Controller?
The Ultral Controller supports Pico 4 Ultra and later versions. Whether from the hardware or software level, the Ultra Controller will be the form of controller that we will focus on supporting in the long term. That is to say, new VR devices may continue to use the old controller to pair and connect to new devices. In the short term, the physical hardware corresponding to the Ultra Controller may continue to serve as the controller for Pico’s VR headsets in the next few versions, and there will no longer be a one-to-one binding of one generation of devices to one generation of controllers.
So the vr template’s IMC, only needs to add PICO 4 Interaction profile, but still hope Developer can see the existence of Ultra controller.
This is the final new PR, only keeping one set of keys (In fact, only Interaction profile paths and physical looks are different). Support PICO Controllers from PICO4 and later.
No longer needs to be compatible with neo3 and earlier devices, as there are many bugs in xr runtime and it is no longer updated or maintained.
We’d like to support XR_EXT_render_model natively and have XRVisualizationComponent use that instead of the hardcoded models. However, we would keep the models as a fallback until enough runtimes support the extension. I’ve been waiting for more runtimes to support the extension before we implement support (I like to have at least two runtimes to test against). It looks like SteamVR is the only one that currently supports it. Do you as well, and if not, when do you expect to?