Iteration 1
The video above demonstrates the first iteration power system made in Unreal Engine 5.
Below is the design document for that system.
The player can adjust the power output of their submarine by cycling between power levels.
Higher output power levels mean the sub moves faster and lets the player see further, but also means they are making more noise, therefore they are more likely to attract predators.
Lower outputs power levels allow the player to be stealthy, but restrict their speed and vision.
This can be thought of like stances in stealth games, e.g. prone, crouch, walking, sprinting.

Power Level refers to the current power output of the sub’s engine. This influences headlight range, movement speed and noise made.
There are 4 power levels, each serving their own gameplay purpose:
OFF
Allows the player to produce very little stimuli that attracts predators, but also prevents them from moving and seeing.
LOW
Allows the player to move through dangerous spaces as long as they keep distance from threats.
MEDIUM
Allows the player to find a balanced position when they are uncertain of their safety.
HIGH
Allows the player to try and escape imminent threats or move quickly when they feel safe.
The player will cycle between power states using the mouse scroll wheel.
When the player changes the power level they will see the UI update (see section 3) and hear SFX (see section 4). The power level's data set will be loaded and used by the sub affecting engine noise, sub movement and headlight settings (see section 2.5).
One of the primary functions of the power system is to allow the player to control engine noise, and in doing so, control how noticeable they are to threats. When the player is at any power level aside from "OFF", the engine will make noise. If the player is moving the sub, this noise will be louder. These changes in noise levels should be perceivable to the player and, later, to creatures.
When the player changes thier power level, how much of the world they can see via their headlight also changes.
When the player changes to a new power level, that power level’s data set is loaded. These data sets allow each power level to be independently tuned to best serve its gameplay purpose.
The player’s current power level will be shown on the HUD.
UI Mockups:

SFX will be required to represent the engine's current noise level and to provide feedback when the player changes thier power level.
Assets: