Are there any "best practice" guidelines or tips for UI elements? Any helpful advice?

Greetings,

As my gameplay prototyping/creation phase is coming towards completion (And I know this because I’m finding it harder to concentrate on the ‘creation’ because of spending way too much time “play testing”:o) I’m starting to work on my UI elements (Main Menu, Level Start screen, HUD, Level Completion screen, Level Failure screen, etc…) I’m wondering if there are any types of ‘Best Practice’ guidelines that seem to work best for some of these elements?

Loading screens and opening movies I know are in the Project Settings, but is it good to place your main menu in its own level then call your starting level from this, or should I really just go ahead and put everything into my level file. My game only has one level that gets reloaded with different parameters upon level completion and restarts. But I’m thinking of having a Main Menu level that displays the Menu and sets everything up and calls my game level when the “Play” option is pressed.

Thoughts? Any pitfalls or setbacks you’ve encountered that could have been spared with “if only I’d known that sooner”?

One piece of advice I can offer is to let your UI observe references and variables in the wild rather than attempt to explicitly send updates to the UI from those objects. For example if your character takes damage and loses health dont bother to make an “Update HUD” function. Just make sure your HUD knows what character is the player in question then just have the hud do all of the work of updating itself based on its own observations.

You will save yourself a lot of time on this.

Awesome! That’s what I’ve been doing for now. Glad to see I seem to be on the right track. Thanks! :slight_smile:

what about performance considerations ? You can do it, but bear in mind, it will check for variables on tick. Not sure when it can become too expensive, probably with hundreds+ of widgets.

Here are some best practices described by epic.