Hello everyone! So I started developing Menu Maker about four months ago. Originally, the system was built as an AI state machine for a school project where it would parse XML files into states and actions - limiting the amount of code needed to be written by the user. I thought I would want to sell this type of thing on the store, but my AI skills are not huge and I did not want to release a package that was unsubstantial. I started rethinking how I could use this project to my benefit and maybe make a decent buck to help with college while doing it.
I have always enjoyed creating beautiful menus and UI elements for my projects and realized how cool it would be if I could cut down on programming time and increase design time to have better looking art and layouts for my game UIs. Well, I did it. I developed Menu Maker for this very reason - a tool that allows someone with no programming knowledge whatsoever to design beautiful menus and transitions.
This image represents the state machine for the menu. The user can add any states (windows/pages) they want to, and for each state, they can add any action they want to be invoked while that state is active. Each action can be continuously invoked or invoked only once. In the image, we use an event to display the Settings page in the game view. If the user makes a mistake, they can simply delete the action or state at any time.
Each page in the menu system may live in the component above. It is responsible for holding references for quick settings adjustments that can be modified during run-time. Here, we are looking at the MainPage and giving it a new audio clip to play when it enters the game view. We could modify the pitch and volume of the audio, or even set it to loop. For each page reference we can also modify the animation speeds for the in and out animations for the page based on the controller in the controller field.
Finally, the last major component I wanted to show was the Animator Designer. This tool lets you create custom animators by simply adding an in and out animation. You can just click the Create button and it automatically hooks everything up properly. Then you can go to the page reference, swap out the controller with your new one, and viola - its just that easy.
I am thinking of uploading this to the asset store, but I want to know what you all think of this first. Thanks for reading!