UIElements, a new UI system for the editor - Unite LA

  Рет қаралды 54,095

Unity

Unity

Күн бұрын

Пікірлер: 65
@hjaltetagmose
@hjaltetagmose 5 жыл бұрын
12:45 - Starts talking about UIElements
@shaderbytes
@shaderbytes 5 жыл бұрын
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 ..
@BrandonDavis562
@BrandonDavis562 4 жыл бұрын
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
@dynamicfield
@dynamicfield 5 жыл бұрын
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.
@ZoidbergForPresident
@ZoidbergForPresident 5 жыл бұрын
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... :/
@vertxxyz
@vertxxyz 5 жыл бұрын
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 ):
@clankill3r
@clankill3r 5 жыл бұрын
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.
@FrostyChilli
@FrostyChilli 4 жыл бұрын
How should it be done then, technically?
@Xarbrough
@Xarbrough 5 жыл бұрын
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.
@Nightmareinfos
@Nightmareinfos 5 жыл бұрын
I want unity 2019 faster :D
@hakanviajando
@hakanviajando 5 жыл бұрын
Thanks for making editor ui development harder than it already is.
@Xarbrough
@Xarbrough 5 жыл бұрын
This looks really promising! Looking forward to testing it out. :)
@SAMACSTUDIOS
@SAMACSTUDIOS 5 жыл бұрын
Incredibly complex to do anything whatsoever
@nipunasudha
@nipunasudha 5 жыл бұрын
So cool! Excited for 2019
@danielrousseau6541
@danielrousseau6541 5 жыл бұрын
why did you guys remove the talk principles for rapid game design? it was a really good one
@siarheipilat8152
@siarheipilat8152 5 жыл бұрын
they just reuploaded it
@shaderbytes
@shaderbytes 5 жыл бұрын
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); }
@altafnavalur6908
@altafnavalur6908 5 жыл бұрын
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.
@leonardoraele
@leonardoraele 5 жыл бұрын
Still overly complex.
@gblenemy
@gblenemy 5 жыл бұрын
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.
@waqaraliu
@waqaraliu 2 жыл бұрын
your explanation is very hard, even for an experienced one
@stefan429
@stefan429 3 жыл бұрын
cool concept, wish there was a noob friendly tutorial
@play4fun599
@play4fun599 5 жыл бұрын
Unity guys would better create WYSIWYG GUI editor to create own UI structure and visuals that will generate corresponding xml and css files itself!
@publiclag
@publiclag 5 жыл бұрын
Actually, with UIElements you could create such an editor yourself, which wasn't possible so far.
@play4fun599
@play4fun599 5 жыл бұрын
@@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.
@publiclag
@publiclag 5 жыл бұрын
@@play4fun599 But now it's actually possible to implement such a tool, while before this that was just a remote dream.
@St4rdog
@St4rdog 5 жыл бұрын
Someone could make something like Webflow for UIElements.
@cemugurkaracam
@cemugurkaracam 5 жыл бұрын
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.
@Rubafix989
@Rubafix989 5 жыл бұрын
"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.
@ruchmair
@ruchmair 5 жыл бұрын
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.
@St4rdog
@St4rdog 5 жыл бұрын
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.
@PadMalcom
@PadMalcom 5 жыл бұрын
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?)
@shaderbytes
@shaderbytes 5 жыл бұрын
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. )
@devincory9695
@devincory9695 5 жыл бұрын
Hot Take: VS Code should be the default code editor in Unity.
@sxnorthrop
@sxnorthrop 5 жыл бұрын
Agreed
@johancitygames
@johancitygames 5 жыл бұрын
Yeah, Is just the best editor out there without any doubt.
@DominikBruehl
@DominikBruehl 5 жыл бұрын
I prefer Rider 😁
@johancitygames
@johancitygames 5 жыл бұрын
@@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.
@DominikBruehl
@DominikBruehl 5 жыл бұрын
@@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. :)
@lukazivanovic5565
@lukazivanovic5565 4 жыл бұрын
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?
@chaddanylak8706
@chaddanylak8706 5 жыл бұрын
will this break some plugin
@jimboy2280
@jimboy2280 5 жыл бұрын
wow
@everabyss
@everabyss 4 жыл бұрын
Somebody tell me the name of extension that adds the dots to the left of line code.
@teac117
@teac117 4 жыл бұрын
No extensions. Just Edit > Advanced > View White Space
@everabyss
@everabyss 4 жыл бұрын
@@teac117 Thanks alot
@ColeEdits
@ColeEdits 5 жыл бұрын
Chris... BENOITTTTTTT
@krzysztofbutkiewicz7709
@krzysztofbutkiewicz7709 5 жыл бұрын
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.
@Ohlawdie
@Ohlawdie 5 жыл бұрын
Actually so awesome!!!!
@hugoferral-eb6tl
@hugoferral-eb6tl Жыл бұрын
Hugoferral arroyo
@iamarugin
@iamarugin 5 жыл бұрын
So, when we can expect the UI Elements 2.0 with SASS or LESS support? Nobody writes on CSS in web development since 2k12...
@JohnVanderbeck
@JohnVanderbeck 5 жыл бұрын
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.
@Prolantis
@Prolantis 5 жыл бұрын
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!
@Prolantis
@Prolantis 5 жыл бұрын
Maybe I should probably try and use it first a little bit before I judge. :3 But I am not convinced yet :X
@JohnVanderbeck
@JohnVanderbeck 5 жыл бұрын
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.
@bigbanana82
@bigbanana82 5 жыл бұрын
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.
@Rubafix989
@Rubafix989 5 жыл бұрын
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.
@bissash103
@bissash103 5 жыл бұрын
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.
@WalterRDK
@WalterRDK 5 жыл бұрын
80% of time making the UIElements and 20% making the game.. too much complex
@felixp535
@felixp535 5 жыл бұрын
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.
@St4rdog
@St4rdog 5 жыл бұрын
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...
@Clystron426
@Clystron426 5 жыл бұрын
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.
@misterbeach8826
@misterbeach8826 5 жыл бұрын
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
@Jeppelelle
@Jeppelelle 5 жыл бұрын
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
@ToadieBog
@ToadieBog 5 жыл бұрын
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.
Best practices: Async vs. coroutines - Unite Copenhagen
42:54
Kluster Duo #настольныеигры #boardgames #игры #games #настолки #настольные_игры
00:47
Двое играют | Наташа и Вова
Рет қаралды 3,4 МЛН
إخفاء الطعام سرًا تحت الطاولة للتناول لاحقًا 😏🍽️
00:28
حرف إبداعية للمنزل في 5 دقائق
Рет қаралды 53 МЛН
pumpkins #shorts
00:39
Mr DegrEE
Рет қаралды 74 МЛН
Which One Is The Best - From Small To Giant #katebrush #shorts
00:17
Get started with UI Toolkit in Unity
12:29
Sasquatch B Studios
Рет қаралды 37 М.
Best practices for Shader Graph - Unite LA
45:46
Unity
Рет қаралды 44 М.
Why Vertical LLM Agents Are The New $1 Billion SaaS Opportunities
37:06
Introducing the new Prefab Workflow - Unite LA
41:17
Unity
Рет қаралды 20 М.
The Unity Engine Roadmap
47:12
Unity
Рет қаралды 71 М.
APIs for Beginners 2023 - How to use an API (Full Course / Tutorial)
3:07:07
freeCodeCamp.org
Рет қаралды 2,1 МЛН
🔴Build Twitter Fleets (stories) with React Native and AWS Amplify
3:43:10
Beginner's Guide to the Bash Terminal
1:14:37
Joe Collins (EzeeLinux)
Рет қаралды 2,3 МЛН
Kluster Duo #настольныеигры #boardgames #игры #games #настолки #настольные_игры
00:47
Двое играют | Наташа и Вова
Рет қаралды 3,4 МЛН