Hello, I cannot seem to find help with getting started with UIBuilder.
I see that UI Builder Runtime package will be available with 2019.3. release, but does this mean it will be available with an official release?
I have created new project in 2019.3.0a3 and I have imported UIBuilder package, but I see 2 errors:
Library\PackageCache\com.unity.ui.builder@0.8.3-preview\Editor\Builder\BuilderSelection.cs(41,25): error CS0246: The type or namespace name ‘StylePropertyReader’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.unity.ui.builder@0.8.3-preview\Editor\Utilities\VisualTreeAssetExtensions\VisualTreeAssetLinkedCloneTree.cs(15,25): error CS0246: The type or namespace name ‘StylePropertyReader’ could not be found (are you missing a using directive or an assembly reference?)
What am I missing?
Also I cannot open UI Builder from Window > UI > UIBuilder, since I don’t see that option.
To clarify, the Runtime (Panel Renderer) component for UIElements is part of a package which is not yet public. The UI Builder is does not, itself, provide runtime support for UIElements.
As for when UIElements will have full runtime support, we don’t have an exact date yet.
@uDamian Any guess as to the date this enablement package will ship? I read somewhere mid-November? Does that mean it has been postponed but will be out soon?
You can do this in the UI Builder when authoring the UI. You just need to set you element to absolute position. All this is shown in the Unite Copenhagen 2019 UI Builder demo talk:
Is it possible to install runtime by adding “com.unity.ui.runtime”: “0.0.3-preview” to the manifest.json? Should it work correctly? I’m getting mixed results, because after doing so the UI shows up in the game preview, but it’s not interactive.
So, we didn’t advertise, nor do we support, direct use of that package. It’s likely that Runtime support will just be part of the new UIElements package. Until then, please use the runtime implementation in the Unite demo repo (which you can of course copy and paste in your own project).
I’m fiddling with the example project from Unite, but can’t find any Panel Renderer (“com.unity.ui.runtime”: “0.0.3-preview” seems to be added), am I missing something?
Besides that, is the package in a too early stage to start using it in new projects? I’m starting a new project that will likely last a few months and I’m keen to know if the support on the mid term will be there or it’ll likely change a lot over time and using it right now it’s totally discouraged (that’d be sad tho, using the old UI knowing this one will be there soon!)
We don’t have a public TODO list for the UI Builder. Since priorities can change, feature-to-feature, we don’t want to commit to specific features. That said, high-level, here are some improvements we’re working on short term:
Zoom/Pan in the Viewport
Units support for length styles (ie: “px”, “%”)
Keywords support (ie: “auto”, “initial”)
Multi-USS support so you can assign one or more existing USS files to your UXML
many fixes to UX, bugs, and stability/performance
As for ETA for those features, I cannot say at this time. That said, we will be release those features as they are ready in frequent UI Builder package drops. We’ve already released a new version this week that improved StyleSheet and Selector management.
Specifically, the Runtime section of the README states that Runtime support is not in the form of a package in this Demo project. Instead, it’s bundled inside the Assets folder. So, you should really not have any mention of “com.unity.ui.runtime” in your manifest (having it there will actually break your project).
After that, load the Assets/MainDemo.unity scene and make sure the GameObjects under the UI empty object have each a Panel Renderer component.
The UIElements Runtime support implementation released as part of the Unite demo project is officially a preview and only meant for evaluation purposes. And while we are happy to get any feedback on the current implementation, we are not guaranteeing support for any issues you may have if you end up using it in production. As such, I would not recommend starting a project with this demo runtime bundle if it’s time sensitive and has a low risk tolerance.
But I also won’t stop you. All I can say is that this big change is a transition, not a rewrite. We are actually trying hard to make the transition as smooth as possible.
Not trying to be that guy… but its been more than 3 months since that demo. Truly would be great to see something that we could implement into project. @uDamian It was an awesome mind blowing demo for one of the most labor intensive ignored and underperforming parts of unity. I hope we can see some updates.
Ya, I too have to ask, when will we be able to start implementing this @uDamian ? Any updates you can give? As far as I can tell it works as intended, or at least well enough to produce with… I know you guys have a tough job of slowly rolling out new updates as to not confuse anyone but as a Unity semi-novice who is very familiar with web development and loves CSS styling, I need this new UI feature asap, even as is.
The main question I think everyone wants to know, is the runtime support implementation going to be available on the next update, soonish, or are you guys thinking further out? Is there any release date or time frame window you would be willing to throw out there? No one’s going to put your feet to fire if you’re off, but this is such a must-have and wanted feature, that I have to say is brilliantly put together, it’s such a tease not to be publically supported for production use yet!!
Keep up the great work!
we’re moving UIElements to a package. This package will include the runtime support (runtime will not be a separate package). As we’re also trying to make the transition for users as smooth as possible (ideally seemless), there is still some work ahead and so we cannot share exact release dates of this new UIElements package (and therefore Runtime support). That said, we are striving for to be done in time for the 2020.1 release.
Also, just want to note that the UI Builder is a separate package, independent from the future UIElements package or the deprecated Runtime package. UI Builder will keep getting regular package updates prior (and after) the UIElements package release, and those updated version should continue to work with the Builder/Runtime demo project shared above.
Just want to throw in my enthusiasm and eager anticipation for these packages being shipped. I loved your demo of this feature back at Unite 2019 and really hope that we’ll be able to work with this workflow soon as part of standard development.
@uDamian are you able to offer any further updates? Many thanks and keep up the great work!