I'm working on a project that will essentially create a plugin for Unreal Engine that lets developers implement an inventory management system. The main focus for the system in my case is the user interface as I'd like to become a UI engineer at some point after I am finished with my education.
A question I have while doing research on this type of position is: When developing a user interface system, what's a good initial step to take as to not feel overwhelmed when designing such a system?
I've designed many dozens of user interfaces for professional audio effects, as well as an editor for my game engine. My process is:
First write out an outline of the requirements, what interface elements you will need (e.g. buttons, sliders, etc.), what their functions are, and group them into related sections.
Next I draw out the interface by hand on a sheet of paper. This may require several iterations to determine the best layout of the elements with no wasted space or clutter. I often will draw subsections of a complicated UI independently, then put those together into the final layout. It doesn't have to look nice, just enough to convey the layout and widget types.
Then I build the UI in code based on the drawings and outline. When building the UI I use a system similar to HTML tables to do automatic layout of the positions of widgets. This also helps things to look nice by aligning elements in neat rows, and looks good when the window resizes.
This process avoids the difficulty of visualizing the finished UI when writing the code. The outline helps to avoid forgetting something, which often causes a complete redesign.
Here are a few examples of UI I made with this process: