Tasks Undertaken
Main Menu Enhancements
UI Refinement
- Changed names and values of the new main menu UI.
- Linked buttons to corresponding code.
- Created new functions for graphics settings.

Gitignore Updates
- Excluded 'Build(s)' folder in the gitignore.
- Optimized gitignore for better readability.

Graphics Settings Integration
User Interface Improvements
- Adjusted debug console key support (` key).
- Moved FPS and ms into view.
- Fixed saving and loading of graphics settings.
- Dynamically adjusted individual values based on benchmark results.
- Linked Developer mode button to save the game.
- Updated blueprint for graphics settings.

Menu Cleanup and Optimization
Streamlined Main Menu
- Enabled 'Electra Player' plugin for mp4 video format.
- Cleaned up menu settings blueprint.

Server Information Update
Server Indication
- Modified server name text to indicate VR or PC.

Settings Menu Enhancements
Dropdowns and Checkboxes
- Adjusted dropdowns for size and content responsiveness.
- Customized checkboxes for size and sprite support.

Main Menu Functionality
Movement Switching Integration
- Linked switching of movement to the main menu.

Pause Menu Improvements
Design and Functionality Updates
- Updated pause menu to Vy's design.
- Aligned pause menu buttons with main menu effects.
- Transformed pause menu backgrounds to be transparent.
- Ensured pause menu settings title synchronization.

Settings Button Selection
- Prevented current settings screen selected button from responding to hover.

Pause Menu Settings UI
- Created settings UI for the pause menu.

Integration and Audio Settings
Linking Settings and Audio
- Added settings code to the pause menu.
- Implemented audio saving functionality.
- Enabled audio value changes when moving the slider.
- Created thumbnails for almost every level.
Double Diamond
In the initial discovery phase, I delved into the existing main menu UI, recognizing the need for refinement. I scrutinized the UI elements, altering names and values to enhance user experience. Simultaneously, I addressed version control concerns by updating the gitignore to exclude the 'Build(s)' folder, optimizing it for clarity.

Having gathered insights from the discovery phase, I identified key areas for improvement. The graphics settings integration emerged as a focal point. I fine-tuned console key support, adjusted the positioning of FPS and ms, and resolved issues related to saving and loading graphics settings. This step included linking the Developer mode button to the game save, updating the blueprint for graphics settings, and adding a new way to save game data (Figure 2 & 3)

With a clear definition of the improvements needed, I transitioned to the development phase. I started with refining the menu settings blueprint (Figure 1). Integration of graphics settings was complemented by adjusting dropdowns and checkboxes in the settings menu for enhanced aesthetics and responsiveness. Furthermore, I linked the switching of movement to the main menu, consolidating the interactive elements.
The pause menu underwent a substantial overhaul. Its design was aligned with Vy's vision, ensuring a seamless transition from the main menu. The buttons mirrored main menu effects, and the backgrounds were transformed for transparency (Figure 4). Settings button selection was optimized to enhance user interaction. Additionally, a dedicated settings UI for the pause menu was designed and made, contributing to a cohesive user experience.

In the final deliver phase, the integrated changes were tested and validated. The graphics settings, now dynamically adjusted based on benchmark results, were refined to ensure an optimal user experience. The server name text was modified to indicate VR or PC hosting (Figure 5), providing clearer server status information. Moreover, settings code was incorporated into the pause menu, facilitating a unified interface. Audio saving functionality and slider adjustments were implemented, along with the creation of thumbnails for almost every level, contributing to a polished and comprehensive content folder.
This week, I spend most of my time working on the new save game data and the pause menu. Apart from that, the main menu, especially the networking, also got my attention. While working on the multiplayer networking, I got most of my knowledge from seeing what the guy from the plugin did, and then try it myself. So basically a lot of trial and error.

- Tycho Tuitert: General feedback, discussions and help.

- Understanding the advanced (Steam) session: https://forums.unrealengine.com/t/advanced-sessions-plugin/30020​​​​​​​
Reflections and Learning
I have spend most of my week working on the menu. I am kind of becoming an UI programmer at this point, haha. It was not fully UI, also a large part of the new Save Game class I added. This class holds all the data I want to save and load. It was very fun to work on that. It took me some time to understand it. But I am glad how it turned out.
Working on the pause menu was also very fun, since I already made an reusable system for the main menu. I could copy and paste that into our pause menu widget. I still had to add some different screens and adjust the sizes, but it scaled pretty nice! This has taught me to always create reusable and resizable systems (and UI)!

Figure 1 - Widget blueprint of the Main Menu

Figure 2 - Showcase of SaveGame in Main Menu

Figure 3 - Save Game data

Figure 4 - Design and functionality of the pause menu

Figure 5 - VR server being advertised as VR in the Co-Op list

Other projects