I joined NovaSphera Studio for my LiA internship and have continued working part-time since the internship ended in December. On Elflock, I work on UI and gameplay systems in Unreal Engine 5, translating designer mock-ups into responsive interfaces and connecting them to character customization, settings, minigames, and world loading.
Elflock (LiA Internship) - NovaSphera Studio
For references reach out to: info@novaspherastudio.com
Core Contributions
UI, Input & Focus
- Rebuilt the menu flow with Common UI and Enhanced Input, bringing Figma designs into responsive widgets for inventory, dialogue, and interaction.
- Improved mouse, keyboard, and controller navigation across layered menus and popups, fixing lost focus, unintended cursor actions, and held inputs reopening menus.
- Refined inspection controls, dialogue speaker names and option icons, and control illustrations that respond to the active input device.
Settings & Keybinding
- Built graphics, audio, and control menus using MVVM, with temporary values, selective apply, and warnings for unsaved changes.
- Implemented dynamic key rebinding and multiple profiles through Enhanced Input User Settings and PlayerMappableKeys, supporting designer iteration.
Character Customization
- Worked on clothing, hair, headwear, and accessories with material and colour variants, plus rotation, zoom, and panning for inspecting selections.
- Separated widgets from character logic through a C++ ViewModel and gameplay-tag categories. Coordinated asynchronous loading of icons and static mesh, skeletal mesh, Groom, and Chaos Cloth assets.
- Connected equipped items and unlocked options to the save system, preserving appearance and customization progression.
Loading & World Readiness
- Worked on a Game Instance subsystem that tracks map and world initialization, player-controller availability, World Partition streaming, and shader pipeline precompilation to drive loading status and staged progress.
- Kept the loading screen visible during rendering warm-up, texture streaming, and mesh LOD requests, using resource-stability checks and a timeout to help avoid revealing an incompletely streamed scene.
- Blocked input and flushed held actions at transitions, switching shader precompilation to faster batches during loading and back to background processing afterward.
Minigames & Gameplay Integration
- Developed an item-placement puzzle system where players use collected objects to complete an arrangement, with placement rules, saved progress, and UI feedback.
- Supported mouse selection and controller navigation through the same gameplay logic, with controller focus automatically advancing after placement.
- Built reusable selection and highlighting components, keeping them separate from individual puzzle rules. Added configurable completion actions for feedback and customization unlocks.
What I Learned
This work strengthened my experience with Common UI, Enhanced Input, and MVVM, including troubleshooting framework behaviour in Unreal Engine source. Working in an agile team helped me turn designer feedback into maintainable systems and reinforced my interest in UI and gameplay programming.
Follow us on social media for news about the world of Elflock!