Docs/controls.md documented the 0.1.0 bindings only, so the camera toggle added with 0.2.0 was undocumented for the player-facing set and the review switches were undocumented everywhere. Adds the V row, a changes-since-0.1.0 note that first person stays the default, and a table for -thirdperson / -walk / -qaselftest with the note that the walking capture is driven per shot rather than by the switch. The in-game HUD line gains 'V view' so the packaged build documents it too.
2.5 KiB
Controls
Keyboard and mouse. The same list is shown in-game, bottom-right of the frame (AGigLineHUD), and the packaged Linux build ships with these bindings.
| Action | Key | Notes |
|---|---|---|
| Move forward | W |
4 m/s walk |
| Move back | S |
|
| Strafe right | D |
|
| Strafe left | A |
|
| Look | Mouse | Captured on launch; Escape releases it |
| Jump | Space |
|
| Reset to start | R |
Returns to the grounded spawn point |
| Pause / release mouse | Escape |
Second press resumes and recaptures the mouse |
| Swap first / third person | V |
First person is the default; the body is hidden in that view |
Notes
- Movement is relative to where you are looking (controller yaw), so the capsule stays upright on the sloped street.
- The mouse is captured on launch, so looking works without clicking first.
Escapetoggles the capture as part of pause. - Bindings are Enhanced Input actions in
/Game/Inputbuilt byTools/ue_create_input_assets.py; the mapping context isIMC_Default.
Changes since 0.1.0
Vswaps first and third person (0.2.0,IA_ToggleCamera). The shipped default view is still first person, as the owner decided for0.1.0; third person adds a collision-tested spring-arm camera and a visible, animated body.Escapestill pauses and releases the mouse in either view.
Review and harness switches
These are command-line switches for the screenshot pipeline and QA runs, not player controls. They exist so a capture is reproducible rather than dependent on a human pressing keys at the right moment.
| Switch | Effect |
|---|---|
-thirdperson |
Starts the pawn in the third-person rig, so a capture shows the body without anyone pressing V |
-walk |
Holds forward input from the first frame — what makes the stride shot possible |
-qaselftest |
Runs the scripted walk / reset / pause / transect checks and quits |
The walking shot is driven per shot rather than by the switch: the shot actor enables the walk only while a tracking (ShotFollow) camera is being captured, and returns the pawn to spawn afterwards, so the fixed-camera shots still find it in place.
Testing input without a physical keyboard
Tools/input_test.py injects OS-level keyboard/mouse events through a virtual /dev/uinput device (see Tools/input_emulation.py), e.g.:
python3 Tools/input_test.py --sequence move:2,look:3
It drives the focused game window exactly like real hardware, which is how the controls were regression-tested on the packaged build.