Roadmap for UI Support on Polyspatial?

What is the roadmap for standard UI element support like sliders, buttons, input, toggles, dropdown, etc.

  • Why aren’t the SpatialUI scene example components included as prefabs or Create > Components? Should we use these? Are these intermediary UI components that will no longer work in future Polyspatial versions?

  • Going forward - Will Unity UI be supported on Polyspatial?

1 Like

Assuming you mean the UGUI/TextMeshPro versions of these components, they should all be supported.

This is good feedback, thanks. The plan is to support both UGUI elements and spatialUI components as is.

The original concept for spatial UI was to offer a way to create 3D UI elements and was created before the support for UGUI was fully working.

do you mean to say that i can simply use all TMP UGUI components already - instead of having to fiddle with the SpatialUI scene from Samples?

I still have not been able to get Unity UI and TMP Input Field to work consistently…

What is the current state of UGUI support?

Yes. If you encounter specific issues, please file a bug report with a repro case and let us know the incident number (IN-#####), so that we can look into the issue.

Hi Kapolka, can you explain more about how ugui support is supposed to work for Polyspatial?

I get this error for both TMP and UGUI Input Fields, and when I press “Fix” it disables the component - so it seems that input field does not actually work???

That message is in error, and you can ignore it (and avoid pressing the Fix button). InputFields should be supported.

The fix button disables the InputField?

The Input Field does not render correctly on device.

Just wondering if you guys have only tested on simulator or in virtual (non mixed) modes?

We have tested on the device as well as in the simulator. If you’re having issues, feel free to submit a bug report and let us know the incident number (IN-#####) so that we can look into it.

A couple requirements: the UI must be world space, and it must use InputSystemUIInputModule (which the EventSystem will prompt you to switch to automatically).

is a keyboard supposed to pop up (?)

just a note that I sanity checked with an empty project, starting from the 1.0.3 VisionOSTemplate, and the included SampleScene. I cannot seem to select the input field on device. I’ve tried gaze selection and also poking.

The top is Unity UI Input Field
The bottom is TMP UI Input Field

You know what - somehow the scene by default did not use InputSystemUIInputModule. Replacing that worked! Thank you for mentioning that that was a requirement above.

The text for UGUI Input field is still distorted, but I am glad that we have TMP Input Field finally working on device!

@kapolka although it seems that upon focusing away from the unity volume app and going back the UI input field no longer triggers the keyboard

Is there a method to trigger the keyboard ?

That shouldn’t happen. If you can create a repro project to file as a bug report, please do so and let us know the incident number (IN-#####).

@kapolka I followed the same steps as @ina and I am seeing the same result. The input field becomes active and the carat turns on, but the soft keyboard doesn’t appear, and it doesn’t accept input from bluetooth keyboard. The repro is easy – open the 1.0.3 VisionOSTemplate project and add an InputField (TMP) object to the canvas. I’ll also open a bug report on this.

I’ve found that the soft-keyboard doesn’t appear when you are using a Mac Virtual Display. This seems like an OS-wide issue though (the connected keyboard will still allow you to input text) so worth sanity checking your input fields without a virtual display enabled. Other than that, we are seeing no issues

@joe_nk Aw, you got my hopes up, but no dice. :frowning: I’ve tested by closing the virtual display and re-launching the app, but I am observing the same behaviour.

Edit: Bug report created: IN-69267

Thanks for the report! I can reproduce the issue, and while I’m not sure what’s causing it, it does seem to be project-specific. If I export SampleScene into a custom package along with all its dependencies and import it in another project (created from scratch from the 3D (URP) template, then switching to visionOS target, configuring XR Plug-in Management, etc.), the TextField/keyboard works as expected.

I’ll keep investigating to see if I can figure out what’s different about the visionOS template project.

Maybe a method that can manually load the keyboard? Like this one for mobile.