Inspiration
I had a hard time learning and using Custom UI. When I did learn, it felt weighty and complex. My aim was to simplify, organize, and unify core game UI into components I could understand now, reuse, and understand later.
What it does
I combined multiple UI displays into one Custom UI. This helps with world efficiency. I added visual flair to the UI with animated bindings by default so the user only needs to send simple network events to the component and it will handle the rest.
How we built it
One piece at a time. For the past month, I've been making Simple UI Public assets: Simple Button, Simple Progress Bar, Simple Popup, Simple Notification, Simple Animated Bindings, Simple Confirmation. Then by using and reusing the assets, I was able to refine them to work alone, work together, and work in multiplayer settings. Once I understood how they could work individually, I could combine them into something comprehensive.
Challenges we ran into
Mutiplayer compatibility is a constant challenge. Figuring out how to get a proper callback from an external UINode component, updating public assets, including FileBackScripts not attached to objects in published assets, Broken Refs on loaded public assets would confuse new users, creating clear enough descriptions or tutorials for new users to understand, ensuring proper default asset placement in new worlds, creating compelling descriptions to invoke intrigue or interest.
Accomplishments that we're proud of
I'm so proud of this asset. It's the culmination of a lot of hardwork and iteration. I think it's so easy to use, so easy to reconfigure or duplicate and add more base UI Nodes. I'll be using it a lot for my worlds and I think it will help a lot of people with theirs.
What we learned
I learned the solutions to the challenges I faced.
What's next for OneHUD Public Asset
Test by fire. I hope people who use it will reach out to me if there are things that need to be improved. I want it to be a common asset people drop into their new worlds.
Built With
- horizondesktopeditor
- typescript


Log in or sign up for Devpost to join the conversation.