Modular Power-Up Station System
A reusable upgrade station system that presents the player with three gameplay modifiers and applies the selected upgrade directly to character stats.
How it works
When the player activates a Power-Up Station, gameplay is paused for selection and three upgrade options are presented through the UI. Each option represents a different gameplay modifier, such as increased cooling rate, higher maximum heat capacity, or reduced heat generation on missed attacks.
Selecting an upgrade immediately applies the corresponding stat change to the player, closes the selection interface, and prevents the station from being used again. The system also supports both mouse and controller-based UI navigation.
My contribution
I designed and implemented the complete Power-Up Station flow, including player interaction, upgrade selection UI, stat modification, input handling, controller focus, and single-use station behavior.
I also implemented the individual gameplay modifiers shown in the prototype, including Cooling Boost, Heat Capacity, and Stable Swing, and connected their effects to the existing heat system.
Challenge
The main challenge was creating an upgrade system that could modify different gameplay variables without tightly coupling every station to the player logic. The selection interface also needed to work reliably across both mouse and controller input while preventing repeated activation of the same station.
Solution
I built the station as a reusable gameplay system that separates interaction, UI selection, and upgrade application. The station opens a three-choice upgrade interface, passes the player's selected option back into the gameplay logic, and applies only the relevant stat modifier.
After a successful selection, the station disables further interaction, ensuring that each station functions as a single-use progression choice.
Code flow
Power-Up Selection & Application Flow
Unreal Engine Blueprint handling power-up selection, validating a single choice, applying the selected upgrade to the player through an enum-based switch, closing the UI, and returning input control to gameplay.
Stable Swing Upgrade Logic
Unreal Engine Blueprint applying the Stable Swing upgrade by reducing Miss Heat Gain by 2 and clamping the resulting value to a safe gameplay range.
Heat Capacity Upgrade Logic
Unreal Engine Blueprint applying the Heat Capacity upgrade by increasing the player's maximum heat value by 15.
Cooling Boost Upgrade Logic
Unreal Engine Blueprint applying the Cooling Boost upgrade by increasing the player's cooling rate by 2.
Power-Up Selection Visual State
Unreal Engine Widget Blueprint refreshing the visual state of three upgrade options based on the currently selected index for controller and keyboard navigation.
Power-Up Station UI & Event Binding
Unreal Engine Blueprint opening the upgrade selection UI, binding the power-up selection event, switching input to UI mode, setting keyboard focus, and marking the station as used after a choice is made.
Power-Up Station Interaction Detection
Unreal Engine Blueprint detecting when the player enters or leaves the Power-Up Station interaction area, storing the active interactable reference and enabling or disabling interaction.