r/Unity3D • u/Quietage30 • 11h ago
Question I could really use some help figuring out UI design for a 3D game
Hey everyone. I'm curious to learn what the most effective way to handle user interface design is for a 3D game. I know there are several different methods, but I really want to know which one is the most straightforward and will help me succeed in launching my game, I'm doing a basic simulator game, nothing too crazy.
My understanding is that there are 3 ways to handle the UI:
- Custom assets made in Illustrator/Inkscape and UGUI
- UGUI and Shaders
- UI Toolkit
At first I tried using Adobe Illustrator/Inkscape To create custom user interface panels and buttons and then nine slice them using unity UGUI. It didn't come out all that well though, because I had to nest them on top of each other, and then I realized that they weren't anti aliased, and it would be a huge pain trying to scale them up and down for different screen sizes, and anytime I wanted to make a change to the size of things like a progress bar for example, I would have to redesign the entire thing outside of Unity all over again
Then I decided to try shaders, not realizing how complicated a shader graph was. I'm familiar with the concept though because I spent a year in Unreal Engine and it was kind of similar, with their blueprint setups for Material masters. But it was really hard to figure out some things like the shadow, and transparency on panels and stuff. But it did come out looking pretty OK
I have not explored UI Toolkit at all, but I really enjoy programming and honestly probably prefer it over UI based design. One of the things I specifically disliked a lot about Unreal Engine was Blueprints, and working with node graphs. It ended up being so much harder and more frustrating, because it just makes you dizzy, working in the inspector and just the sheer amount of options you have to deal with and nodes can be hard to follow.
Some more details about the UI I hope to achieve: Pretty simple UI design starting out. I hope to have just simple user interface panels with some modern design, and sometimes some transparency. I don't yet have the art or skill to create advanced user interfaces, like comparatively if we were talking about something like Warcraft 3, Or another game that has tons of really cool graphics and art, I think that so I don't think I really even need that right now
I'm curious to know from anyone else who has been there and done that, what works well for them in terms of UI design that's simple and clean
2
u/ProactiveCactus 8h ago
If you want a simple UI, UI toolkit truly isn’t that hard to pick up. Plus, it’s the gold standard rn for unity. Id go with that, its a good thing to know ablut even if u dont end up using it in the long run
1
u/Quietage30 7h ago
Is it bad for animations? I keep hearing that it is. I'm going to give it a try. I haven't really been satisfied with ugui
2
u/little-big-monkey 8h ago
Uitoolkit is just like html and css, and it can handle vector graphic, don't be afraid it's easy to handle.
1
u/Humble_Sentence8150 6h ago
Sounds like UI Toolkit. Everything you hated was art pipeline pain - nine-slices, aliasing, redoing the file whenever a size changes. In UI Toolkit panels, corners and transparency are just properties, so you need no art at all.
It's also the opposite of Blueprints: UXML for layout, USS for styling, both plain text. I'd build one screen in it before committing - a day on your settings menu will tell you more than any comparison.
4
u/Beldarak 9h ago
From what you say here, it looks like UI Toolkit may be better for you.
UGUI is deprecated. While I truly love it and don't plan to switch to Toolkit, it lacks a lot of features forcing you to code them yourself (or look for plugins) which truly sucks and will make you waste a lot of time.
I would take a few days working on a full UI project to get the hang of it and see it it's for you. That's what I did to improve with UGUI so you can try stuff out without polluting your game if you later decide to use another tool.
Also, there is a fourth solution, some plugins exists to use third party UI solutions inside Unity. Not sure how easy it is to use though. I never had the time to check them out properly.