there should be a builder class that has all the methods to build the content. This builder class can be created and accessed/used without any xml needed. If you want to use XML then sure the builder class should have a means to inject a parser , the parser would accept the source xml and use that info to build the objects. The reason it accepts a parser is because then you can have more than one type , for example you could have a json parser and source. The parser classes should have an interface that defines their function eg "IEditorGUIContentParser" , the implementation would always use the methods in the builder class in the same manner you would have done it via code without external input. - So from the outside the builder class looks the same, and is used the same - regardless of how it was created or populated. via code or via xml. The same logic can be applied to styling ..
@BrandonDavis5624 жыл бұрын
Using UnityEngine.UI looked so simple when looking around on how to make ui for my game, but since version 2019.2 it switched to UIElements and is so complicated since I don't know that much about coding
@dynamicfield5 жыл бұрын
Really really great news!!!! As I develop very often with WPF, this feature is really awesome ! It puts a clear separation between UI and code.
@ZoidbergForPresident5 жыл бұрын
OK, halfway in and I'm totally lost. I never dipped into editor extensions because it was really hard to understand how things were done... guess this new UIElements won't help me further either way... :/
@vertxxyz5 жыл бұрын
This is super powerful but I really dislike CSS and XML formatting so whenever I've used it I've just put it all in C# - not that it changes that much I wonder if I'll ever transition... Layout seems just as confusing as web as well, instead of easily understanding how things will end up we're bundled with flex ):
@clankill3r5 жыл бұрын
I would have prefered to see a new UI system that was inbetween a emmidiate and a retained mode. I am working on one and so far it is really great (in my biased opinion). Following the xml structure and css is just repeating all the things that the internet did wrong.
@FrostyChilli4 жыл бұрын
How should it be done then, technically?
@Xarbrough5 жыл бұрын
This demo and my first attempts with the new system look really promising! I think it's a great approach even if there may some things to simplify or change in the API later.
@Nightmareinfos5 жыл бұрын
I want unity 2019 faster :D
@hakanviajando5 жыл бұрын
Thanks for making editor ui development harder than it already is.
@Xarbrough5 жыл бұрын
This looks really promising! Looking forward to testing it out. :)
@SAMACSTUDIOS5 жыл бұрын
Incredibly complex to do anything whatsoever
@nipunasudha5 жыл бұрын
So cool! Excited for 2019
@danielrousseau65415 жыл бұрын
why did you guys remove the talk principles for rapid game design? it was a really good one
@siarheipilat81525 жыл бұрын
they just reuploaded it
@shaderbytes5 жыл бұрын
the problem of separating layout from functionality is also problematic because so much editor type functionality is only available to editor classes. This has forced my hand many times before from one inspector which has focus to have to create a temp inspector via code just to be able to call functionality in it eg : GameObject goPP = new GameObject(spline.gameObject.name); PolygonPP polygonPP = goPP.AddComponent(); polygonPP.splineData = spline.splineData; try { sourceInspector = Editor.CreateEditor(polygonPP) as PolygonPPInspector; sourceInspector.BuildGeometry(); DestroyImmediate(sourceInspector); } catch (System.Exception e) { Debug.Log("Exception:: " + e); DestroyImmediate(sourceInspector); }
@altafnavalur69085 жыл бұрын
Hard to understand, It would have helped a lot if he had taken a basic custom inspector & write the code on the fly. Looking an regions of code doesn't help much.
@leonardoraele5 жыл бұрын
Still overly complex.
@gblenemy5 жыл бұрын
I really want something better than IMGUI. But I don't think this can do the job, sadly. Tested in experimental the past few days, and as it is, i can not recommend it. Really messy to handle, And the given controls are hard to modify or recreate.
@waqaraliu2 жыл бұрын
your explanation is very hard, even for an experienced one
@stefan4293 жыл бұрын
cool concept, wish there was a noob friendly tutorial
@play4fun5995 жыл бұрын
Unity guys would better create WYSIWYG GUI editor to create own UI structure and visuals that will generate corresponding xml and css files itself!
@publiclag5 жыл бұрын
Actually, with UIElements you could create such an editor yourself, which wasn't possible so far.
@play4fun5995 жыл бұрын
@@publiclag Yes, perhaps, but developers should not implement everything themselves, cause the reason why we use editors like Unity editor is that we need comfortable and time-saving tools to create games. Unity still has too much not implemented yet among tools that are very needed and often used. Spline tool for example.
@publiclag5 жыл бұрын
@@play4fun599 But now it's actually possible to implement such a tool, while before this that was just a remote dream.
@St4rdog5 жыл бұрын
Someone could make something like Webflow for UIElements.
@cemugurkaracam5 жыл бұрын
Writing editor code and building editor tools were really hard in unity. Now it seems much harder than ever with these. I don't think web developers could handle such complex and specific implementations like that at first glance.
@Rubafix9895 жыл бұрын
"Complex & specific?" XML & CSS come on, those are just a set of tags & properties very well documented. In this new system you finally have a separation between the layout of your tool, the design of the tool and the logic that runs it. You trade one large messy brick of code for three specialized & smaller brick of code. it's only a win. Part of a developer journey is to constantly learn new things, if you stop on crazy simple step like those, just move on to another field far away from engineering.
@ruchmair5 жыл бұрын
I make advanced editors and i want to migrate my unity 2019 node editor to use UI elements but this look like it will make EVERYTHING more complex. Reduce overhead and gain gray hair.
@St4rdog5 жыл бұрын
It should be easier. I wouldn't know how to make a draggable node in IMGUI, but it took me 20 minutes in UIElements because things are like actual objects.
@PadMalcom5 жыл бұрын
Will UIElements improve performance for computationally intensive workloads within the editor? So far there is only one editor thread and it freezes on long running processes. Can UIElements avoid that somehow? (e.g. by allowing multi threading in the editor?)
@shaderbytes5 жыл бұрын
i like the idea of updating the editor GUI to not have to be immediate , since this is unneeded , it should be draw only once + manual update when required. I agree , also the whole getting/setting rectangles and label widths thing needs to disappear , this is great... using a external type of CSS.. this is not great. Using an external xml file for content - this is not great either. ( ps i have vast experience in writting/using css and xml in web development , im not just disliking it because i dont know it.. im disliking it because i do know it. )
@devincory96955 жыл бұрын
Hot Take: VS Code should be the default code editor in Unity.
@sxnorthrop5 жыл бұрын
Agreed
@johancitygames5 жыл бұрын
Yeah, Is just the best editor out there without any doubt.
@DominikBruehl5 жыл бұрын
I prefer Rider 😁
@johancitygames5 жыл бұрын
@@DominikBruehl i didn't know about that ide, looks interesting, however it is not free like vs code, and $139 for a year, no thanks, vscode is the best free option.
@DominikBruehl5 жыл бұрын
@@johancitygames That's true. It is the best, but the best free one could be VSC. I like Rider so much, because it's like Intellij for Java just for C#. For me, it works perfectly with Unity, and has great refactoring features. :)
@lukazivanovic55654 жыл бұрын
I read on some forum that it's possible to draw uxml and uss to the panel instead of window or editor. Do anyone know how?
@chaddanylak87065 жыл бұрын
will this break some plugin
@jimboy22805 жыл бұрын
wow
@everabyss4 жыл бұрын
Somebody tell me the name of extension that adds the dots to the left of line code.
@teac1174 жыл бұрын
No extensions. Just Edit > Advanced > View White Space
@everabyss4 жыл бұрын
@@teac117 Thanks alot
@ColeEdits5 жыл бұрын
Chris... BENOITTTTTTT
@krzysztofbutkiewicz77095 жыл бұрын
I really hope IMGUI will be still available. XAML is simply too verbose. From what is shown in the video it looks like UIElements workflow will be painful. Also it's not fair to compare not-so-good code (of IMGUI) with anything.
@Ohlawdie5 жыл бұрын
Actually so awesome!!!!
@hugoferral-eb6tl Жыл бұрын
Hugoferral arroyo
@iamarugin5 жыл бұрын
So, when we can expect the UI Elements 2.0 with SASS or LESS support? Nobody writes on CSS in web development since 2k12...
@JohnVanderbeck5 жыл бұрын
Don't SASS and LESS just transpile down to CSS? The support doesn't come from the rendering engine, it comes from SASS/LESS itself.
@Prolantis5 жыл бұрын
Does this mean you render all this in a webview somehow? Or can we use this in actual UI in my game too? Why work Editor UI!? I want to make games, not Editor UI! Odin already does all this for me!
@Prolantis5 жыл бұрын
Maybe I should probably try and use it first a little bit before I judge. :3 But I am not convinced yet :X
@JohnVanderbeck5 жыл бұрын
No it isn't a webview. Just because it uses traditionally web technologies doesn't mean it is web pages. Think of it as leveraging what a lot of UI/UX developers already know but in a native environment, not a web one. As for why Editor; It will eventually make its way into the runtime side, but the editor is what is currently suffering the most in terms of UI and a lot of development happens editor side for tools companies make for their artists to use.
@bigbanana825 жыл бұрын
OMG.. CSS and XML.. Why not using ASSEMBLY??.. Thats the worst approach to build a UI that you can possibly do... I dont know if the devs at Unity understand that a tool like Unity should easen the develeopment process instead of making it more complicated.. using multiple languages to do a simple thing like UI is ridiculous, and overly unnecessary.. As a developer I have to reitarate into this languages, that have no use for me but to set up colors and stuff.. Dont get me wrong, I love Unity, how it developed till now and also some great features that will come with 2019.. But that new UI systemn is just wrong.
@Rubafix9895 жыл бұрын
XML & CSS are pretty strait forward. Please understand that it is meant to help create custom tools within unity UI. this is a feature for poweruser and larger projects.
@bissash1035 жыл бұрын
I just see people complaining about UI Elements, because its separation of concerns aproach. What have no sense is all this people scarred to learn something new hahaha.
@WalterRDK5 жыл бұрын
80% of time making the UIElements and 20% making the game.. too much complex
@felixp5355 жыл бұрын
Really disappointed. I get that it may be bad coding practice to have layout, functionality, and styling in one single place, but I feel like it makes so much more sense. And now this whole system gets A LOT MORE COMPLICATED than before, because now you have to: 1. Learn css and all the s*** that goes with it (weird/unclear naming, flex stuff everywhere) 2. Learn the whole new UIElements system 3. Learn IMGUI as well because most stuff can't be handled yet with UIElements and we basically have to embed IMGUI inside of UIElements... 4. Actually learn how to use all of this together and how to structure your code in this new way Please just let me use IMGUI. Please, don't ever do that for in-game UI. Also, please, don't allow anyone other than programmers to modify any code easily, they almost always break stuff up/make horrible stuff and it's just way faster for everyone to have them just ask for stuff (another reason why I dislike the visual scripting as well...). Please, stop making stuff that almost noone wants, and fix what we actually need right now (separating canvas from the scene, make UI elements not raycast target by default, remove a ton of "bad" functions like SendMessage and stuff like this). Unity is more and more trying to please newcomers that don't know anything about video games development and at least AA studios that just want performance and basic engine features. Either choose one or the other, but what you're doing now makes absolutely NO SENSE! - If you choose to please the ones that don't know anything about video game development, then continue on the way you were going before, keep Unity free, add visual scripting, and simplify the general use of the software - If you choose to please actual game development studios, remove a ton of "bad" stuff, try to actually fix what did wrong, charge people for Unity, make it at least open-source so we can at least see what's going on behind the scenes, and make sure to have proper support for these studios when they need you.
@St4rdog5 жыл бұрын
1. CSS has no weird naming. You name everything yourself, so you understand it. Flex is just a Horizontal/Vertical Group from UGUI. You are just scared of the name...
@Clystron4265 жыл бұрын
If you think CSS is difficult to learn then maybe you should just give up on coding altogether. "I get that it may be bad coding practice to have layout, functionality, and styling in one single place, but I feel like it makes so much more sense" You obviously don't get it, if you think the old way makes more sense.
@misterbeach88265 жыл бұрын
unity ui is so bad. it always feels like the 90's. it's like they do not know about the awesome xcode ui or even android studio ui systems, always trying to reinvent the wheel
@Jeppelelle5 жыл бұрын
Its not easy to make a nice UI with all the capability/settings/modules that Unity has. Xcode is clean because it is just code and layout tools basically. Xcode would also be ugly and bloated if they hade the same tools as Unity
@ToadieBog5 жыл бұрын
Unity as a whole just feels old. If it weren't for C#, it would be much less popular. The toolset is limited and clunky, they are FINALLY working on a visual shader editor and working on a terrain system that isn't older than dirt. I lost confidence in their ability to make it a world class game engine, they struggle to add cool features and most of the time the features they do add are half baked.