Search Unity

UIElements runtime plan

Discussion in 'UIElements' started by LPhilipp, Aug 14, 2019.

  1. LPhilipp

    LPhilipp

    Joined:
    Apr 27, 2018
    Posts:
    15
    TheGabelle, jGate99 and BeckStarDE like this.
  2. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,426
    Who knows, but it seems like most of the main features of the editor version are working right now. I am using it for an editor script without many issues.
     
  3. summerian

    summerian

    Joined:
    Jul 6, 2014
    Posts:
    131
    Can't come soon enough to be honest. A more flexible layout for different screen widths would greatly improve development times.
     
  4. Onigiri

    Onigiri

    Joined:
    Aug 10, 2014
    Posts:
    95
    There will be talk on Unite 19 about new ui builder and ui elements for runtime.
     
  5. uDamian

    uDamian

    Unity Technologies

    Joined:
    Dec 11, 2017
    Posts:
    488
    Indeed. :)
     
  6. StephanieRowlinson

    StephanieRowlinson

    Joined:
    Jul 23, 2014
    Posts:
    103
    So does this means it'll be released before then?
     
  7. uDamian

    uDamian

    Unity Technologies

    Joined:
    Dec 11, 2017
    Posts:
    488
    Nope, it just means more info will be released during that talk, along with concrete usage examples and a more detailed roadmap. Though, we might release some details sooner.

    EDIT: Like right now, below. :)
     
    Last edited: Aug 27, 2019
  8. benoitd_unity

    benoitd_unity

    Unity Technologies

    Joined:
    Jan 2, 2018
    Posts:
    132
    We just posted our roadmap for UI. The main points:
    • Preview package will be released with 2019.3
    • We will iterate on it during the 2020 cycle
    • A Verified package will be released in 2020.3
    Very open to feedback at this stage so feel free to let us know what you think.

    Cheers
     
    mandisaw and zyzyx like this.
  9. drsmetamoto

    drsmetamoto

    Joined:
    May 8, 2017
    Posts:
    12
    with 2019.3.0b6 does the Unity UI Package contains the UI Elements for Runtime? thx
     
  10. uDamian

    uDamian

    Unity Technologies

    Joined:
    Dec 11, 2017
    Posts:
    488
    Naming is hard. "Unity UI" or "uGUI" is a completely different UI framework for Unity than UIElements. They have nothing in common.

    Now, while the UIElements runtime package does work with 2019.3.0b6, we are still actively working on it and will share it publicly once Unity 2019.3 fully releases (out of beta) - around mid- to late-November.
     
    mandisaw likes this.
  11. GiantMargaritaXbox

    GiantMargaritaXbox

    Joined:
    Jul 27, 2017
    Posts:
    2
    So just to clarify, we can currently use the UI Builder package (and even preview runtime theme in the builder) in 2019.3 beta, but It won't be until 2019.3 goes out of beta that the UI Elements Runtime package will be released, allowing us to actually see it in the game view like we did in the Unity talk? This is done using a PanelRenderer component I read? And we have no way of accessing that right now.

    Really looking forward to playing with this!
     
  12. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,426
    You can only make it overlay in the UIBuilder right now. See 13:38 of the talk:
     
  13. LPhilipp

    LPhilipp

    Joined:
    Apr 27, 2018
    Posts:
    15
    2019.3.0f1 is out but still no UI Elements Runtime Preview Package ... no PanelRenderer :(
     
  14. StephanieRowlinson

    StephanieRowlinson

    Joined:
    Jul 23, 2014
    Posts:
    103
  15. LPhilipp

    LPhilipp

    Joined:
    Apr 27, 2018
    Posts:
    15
    Arkade and florianhanke like this.
  16. uDamian

    uDamian

    Unity Technologies

    Joined:
    Dec 11, 2017
    Posts:
    488
    ;)
     
    ButlerJ likes this.
  17. StefanWo

    StefanWo

    Joined:
    May 24, 2015
    Posts:
    3
    Are there any updates to the Timeline?
    Im experimenting at the Moment with the 0.0.3 Version from the Demo in Github, but wanted to use a newer version, due to some bugs (f.e. in Build the uss files are sometimes not found)
     
  18. benoitd_unity

    benoitd_unity

    Unity Technologies

    Joined:
    Jan 2, 2018
    Posts:
    132
    As stated in the last update, we're still aiming at releasing the new package with the release of Unity 2020.1
     
  19. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    282
    I was waiting for the availability of UIElements runtime to start learning UI Elements. I'm hoping to get a fair amount of UI reuse between the editor and runtime.

    One thing I'm finding puzzling is why some stuff is in the Editor namespace. See for example: https://docs.unity3d.com/Manual/UIE-ElementRef.html but also a bunch of stuff related to bindings etc.

    Obviously the more stuff that's in the editor namespace, the less opportunity there is to share effort between editor and runtime.

    But more than that - it seems some workflows will have to be rethought. Even if we don't get code reuse, I'm trying to preserve brain space as UI is fairly low down on the list of things that I get excited about and I would prefer to be spending my limited time and energy of the more groovy side of things. :)
     
  20. uDamian

    uDamian

    Unity Technologies

    Joined:
    Dec 11, 2017
    Posts:
    488
    Some controls, like ObjectField, will never make sense at runtime. Others, like PopupField, might make sense at runtime and we are looking at moving these to the Engine namespace (to runtime). They are Editor-only today because they rely on some Editor-only feature (system right-click menus in the case of the PopupField).

    Can you expand on this? What part of the workflow are you seeing as problematic?

    Is this a reference to how there are Editor-only controls?
     
  21. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    282
    That makes sense. (I have to keep mentally translating "popup" to "drop-down" - is it just me or is that a strange choice of name for a fairly common widget? When I see "pop-up I think of something more like a persistent tooltip or a small modal window.)

    How about the stuff under "Complex widgets"? It's not clear what the binding workflow is as a lot of the editor examples use controls that are in the editor namespace.

    Really - it's this same point - I'm not clear how much stuff from editor tutorials will translate to runtime - especially in terms of binding. (which for me is one of the big appeals of UIElements as it promises to reduce the amount of repetition and boiler-plate)

    Mainly yes. I'm just looking for an understanding of how to get runtime controls up and running quickly. Currently I'm looking at "runtime inspector" type applications for fast prototyping.
     
  22. uDamian

    uDamian

    Unity Technologies

    Joined:
    Dec 11, 2017
    Posts:
    488
    This was just to be more consistent with IMGUI. So...because legacy.

    Where do you see "Complex widgets"?

    The plan is that all the bindings workflows will eventually work at runtime. We might have to change some things but the idea of giving elements a binding-path to a field and then having the UI and data be kept in sync will still be there. If you're talking about today, right now, then none of the tutorials around UIElements and bindings will apply for runtime.

    That said, apart from bindings and some fields, most of UIElements will work the exactly the same when used at runtime so most tutorials will still be applicable.

    Cool. The plan on our side is to eventually have zero controls that only work in the Editor when they could, in practice, work at runtime. This includes all the choice fields (like PopupField). The only exceptions are maybe something like the ObjectField which doesn't map well to runtime. This will be a migration, not a duplication (at least, in the end) so there shouldn't be too much code and API duplication. If you want to start some of those ports for your own use, that's also an option and implanting a simple bindings system on top of the `binding-path` attribute is very doable. You have all the necessary parts in the API.
     
unityunity