Tasks Undertaken
Main Menu and Settings
- Implemented a main menu with various screens, including a detailed settings menu offering extensive graphical adjustments.
- Integrated a benchmark button for selecting optimal settings based on system performance, executing benchmarks at start.
Graphics Optimization and Testing
- Introduced quality presets in the graphics settings, automatically adjusting to 'custom' if values differ.
- Added a milliseconds counter for performance testing in both VR and PC modes.
Game Save and Initialization
- Implemented a check for first-time game starts to run benchmarks and apply settings.
- Created a save game feature to remember graphics settings, applying saved or benchmarked settings on startup.
UI and Blueprint Management
- Organized widget folders and streamlined the menu blueprint for efficiency.
Development Tools Integration
- Enabled Visual Studio plugin for enhanced development workflow.
Rendering
- Did research on Nanite and Lumen in VR
- Did research on Eye Tracking
User Interface and Gameplay Features
- Added an 'Apply Changes' button in the settings menu for user customization.
- Modified a dagger asset for melee functionality and improved VR controller widget interaction.
-------------------------------------------------------------------------------------------------------------------------------
Double Diamond
Discover
Explored ways to enhance user experience, particularly focusing on menu interfaces and settings in a VR environment. Investigated various graphical settings accessible through blueprints. In addition, the option to integrate nanite and/or lumen was researched. For more immersive technologies, the option to add Eye Tracking was also researched.
Define
Defined objectives to create an intuitive and comprehensive main menu, optimize graphics settings, and improve game initialization processes.
Develop
Developed a settings menu with extensive graphical options, benchmark functionality, and quality presets. Worked on save game checks, performance monitoring (Figure 1), UI enhancements, including an 'Quality Presets' and 'Optimal Settings' button (Figure 2) and VR controller interactions. Lumen and nanite could be enabled in VR, performance would be very poor. Eye Tracking could not be tested, since the Quest Pro was not available.
Deliver
Implemented the enhanced menu and settings, established efficient game initialization, and organized blueprints and folders for better performance. Integrated Visual Studio plugin for development workflow improvements. Created a test project to test lumen and nanite with the VRE plugin.
-------------------------------------------------------------------------------------------------------------------------------
Research
Last week, I mainly focused on improving the main menu and adding save game data. It took me a while to understand how to implement it. But it worked out in the end. The sources that I used for my research can be found below.
People
- Tycho Tuitert: General feedback and explanation of how functions and events work, how to cast to another blueprints, etc. I got this feedback throughout the whole week.
Internet
- Learning how to save and load data: https://docs.unrealengine.com/5.3/en-US/saving-and-loading-your-game-in-unreal-engine/
- How to run a hardware benchmark: https://docs.unrealengine.com/5.3/en-US/BlueprintAPI/Settings/RunHardwareBenchmark/
- How to set the quality level through blueprints: https://docs.unrealengine.com/5.3/en-US/BlueprintAPI/MLDeformer/SetQualityLevel/
-------------------------------------------------------------------------------------------------------------------------------
Reflections and Learning
This was the second week of the project. I really like to learn how to work with Unreal Engine. The process is hard, but very rewarding if something works. I have started to work with functions and events more. It was strange at first, being used to functions in Unity, but I am getting the hang of it.
I think that starting with the main menu was a good idea. It allows me to explore the options UE has to offer, while not working on core game features. Which is a good thing for now, since I can first gather experience, that I can later use to create better systems for future features.
-------------------------------------------------------------------------------------------------------------------------------
Figures