How To Make UIs without frustration | Unity Beginner Tutorial

preview_player
Показать описание
Unity UI system can be difficult to work with. Here, we explore one way to build your own layer on top of Unity's UI. This can help you build bigger games.

★ Join the Kingdom:

········································

For the cool ones:

Рекомендации по теме
Комментарии
Автор

As a Game Technical Designer in a game very dependant from UI (75% of my work is UI implementation), this is the good way, and it took me months working only on UI and doing it the bad way, learning from mistakes (and suffering) to end discovering this pipeline by miself. Now, anyone who finds this video will know. Thanks! (why this video didn't appear before!?).

Now, with a finished UI, I have used around 10-15 prefabs (+ specific cases and priners )

And yes, I DO ENJOY IMPLEMENTING INTERFACES!

Good video!

manuRGamedev
Автор

I really appreciate the simplicity of this UI framework approach!

nantas
Автор

Please make that part 2 you mentioned. This UI system is amazing!

InterloopStudios
Автор

Great video. Couple of fun additions. Did you know that the Text mesh pro scene and ui version have a shared base class? this means you dont need to remember that long confusing name, whenever you want TMP text you can just write... TMP_Text! that type will let you drag it into the inspector field and use it normally. Also when it comes to themes/configurable scriptable objects, did you know if you make default themes etc you can actually drag them into the _script_ as in, select the script in the project view and assign it there, that way any time you add that script to a new object the theme variable will already be filled in for you ! for an extra layer for this I actually don't reference the theme but I reference a theme manager, so you never need to change the theme SO on any component ever, but the ui component subscribes to a change event in the SO and so when I assign a new theme in the Manager SO all other ones get automagically updated in real time!

Looking forward to seeing your take on the Control layer.

JasonStorey
Автор

Watching this at night with this classical music on background makes me sleepy... but what a fantastic tutorial for making a flexible, maintenable UI! Thanks for sharing your knowledge sir!

luckyknot
Автор

Right on time, im planning on making ui based games as my first games to practice, so this is helpful.

JustGromski
Автор

This is cool. Never thought about making them all prefab full stretch.

hmisexf
Автор

Awesome, I hope we see a next video soon :D

You can use [ContextMenu("Special Name")] before any public function to run it in editor, you can find the button in the component options

btw. Here is the way I write Get functions with enum choices:
public Color GetBackgroundColor(Style style) {
return style switch {
Style.Primary => primary_bg,
Style.Secondary => secondary_bg,
Style.Tertialy => tertiary_bg,
_ => disable
};
}

BoleeOfficial
Автор

This would make a great series. Learned a lot

SeanBotha
Автор

you got some real interesting niche down there (I want to fill this niche but I never take the time to do so), high end / advanced concepts not just beginner code, too few address this topic unfortunately :(

captainnoyaux
Автор

When does the frustration go away? 😅 I've a hard time to understand, how half the added things work, as they're just dealed with for a few seconds each before adding the next things. Feels more like an intermediate tutorial at this point than a beginner one, but i'll hang in there and will probably understanding after watching it a few more times.

mayaneko
Автор

Finally some advanced coding tutorial. I will definitely need this to learn. 🍷

halivudestevez
Автор

Can't wait for the Logic video to pop up!

almualim
Автор

That was great! Thanks for the insight.

benjaminlehmann
Автор

Yes, we need the next video please. 🙌

renecura
Автор

The most important take-away from the video, if you take nothing else, is at 3:25 :)

pedroflsbelchior
Автор

This was great, for an area that often isn't that widely covered!
One thing I noticed, the CustomUIComponent has a private Awake method, the subclasses have their Awake removed now - doesn't that mean the subclasses don't have their Awake called?
I know the event methods work differently from regular inheritance because Unity just looks for them on a per-script basis, so I don't know if having a protected (virtual) Awake method on the CustomUIComponent would make it so that for the subclasses the same Awake is called as well.

dreamisover
Автор

is the code for this available on github?

Basmage
Автор

how would you compare the advantages of a system like this with just using the UI Toolkit that unity provides with template xml and css equivalents?

dan.urquhart
Автор

Now, I have no excuse for not learning how to make a UI.

jeremyruizM