Add or rebind inputs¶
GASPALS uses Enhanced Input. The pawns add one mapping context, IMC_Sandbox, when a player possesses them. The systems listen to input actions (IA_*), not keys, so rebinding is a matter of editing mappings.
Rebind a key¶
Open /GASPALS/Input/Mappings/IMC_Sandbox, find the action, and change its key. For example, move the cover button from Q to F. Save; the change applies at the next Play.
Add gamepad bindings¶
A few actions have no gamepad key in IMC_Sandbox: IA_Cover, IA_Equipment, IA_Overlay_Pose, IA_Overlay_Body, IA_Camera_Perspective, IA_Camera_Style, IA_Takedown, IA_TriggerRagdoll. Add a mapping for each with the buttons you want, for example the right stick click for cover (then move Switch Shoulder elsewhere).
Note
The Z key is hard-wired to the Mover pawns' debug flying toggle (keyboard only; it does not use a gamepad button). Remove that node from the Mover pawn's Event Graph (an Input Key node for Z) before shipping.
Use your own mapping context¶
- Create your context and map the GASPALS input actions (copy
IMC_Sandboxto start). - In each pawn's
SetupInputfunction, replaceIMC_Sandboxin Add Mapping Context with yours.
Add more contexts the same way, with a higher priority for contexts that should win.
Who handles which action¶
| Handled by | Actions |
|---|---|
| The pawn | Move, look, sprint, walk, strafe, aim, crouch, jump, cover |
PC_Sandbox | Next pawn, next character, teleport |
AC_CameraSystem | Perspective, style, shoulder |
AC_EquipmentSystem | Equipment menu, menu next / previous |
AC_OverlaySystem | Overlay pose and body menus, menu next / previous |
AC_RagdollSystem | Ragdoll (CMC pawn) |
AC_SmartObjectAnimation | Interact (benches) |
SandboxCharacter_Mover_Ragdoll | Trigger ragdoll, takedown, interact (shove), jump (get up) |
Components bind their own input actions, so they receive input only when their pawn is player controlled and a context maps the action. The full list is in Input actions.
Add an input to a system¶
Example: a button that leaves cover at once.
- Create an input action
IA_LeaveCover(Digital, bool) in/GASPALS/Input. - Map it in
IMC_Sandbox. - In the pawn's Event Graph, add the IA_LeaveCover event and, on Started, call
AC_CoverSystem>ExitCover. - On the Mover pawn, remember that movement goes through the input command: changes that affect movement should be read in
ProduceInputrather than applied directly.
Unused input assets¶
IMC_Sandbox is the only mapping context in /GASPALS/Input/Mappings. Traversal runs from IA_Jump; there is no separate traverse action. IA_TwinStick_AimDirection is read by the Mover pawn's twin-stick mode but not mapped.