Add asset creation sheets for various systems and UI components

- Created Save/Load & Death Loop asset sheet detailing checkpoint, death handling, and respawn systems.
- Added UI widget creation sheets for pause menu, settings menu, inventory, journal viewer, objective display, notification toast, screen effect controller, accessibility UI, diegetic HUD frame, menu flow controller, and credits screen.
- Implemented HUD controller and interaction prompt display assets with detailed wiring instructions.
- Established narrative systems asset sheet including components for narrative state, objectives, dialogue playback, and branching consequences.
- Developed weapons, AI, and adaptive systems asset creation sheet outlining weapon base, enemy AI components, and adaptive gameplay mechanics.
- Compiled meta, settings, and polish asset creation sheet covering progress tracking, achievement systems, accessibility settings, and various polish components.
- Defined input actions and mapping contexts for enhanced input system, including gameplay actions and context priorities.
- Created state management assets including enums, structs, data asset, and state manager component for action gating and state transitions.
This commit is contained in:
Lefteris Notas
2026-05-20 15:34:06 +03:00
parent 4a7c871f29
commit 3ca87a7893
19 changed files with 1985 additions and 0 deletions

View File

@@ -0,0 +1,121 @@
# IA_* — Input Actions + IMC_* — Input Mapping Contexts
> **UE5 Path:** `Content/Framework/Input/Actions/` + `Content/Framework/Input/Contexts/`
> **Plugin Required:** Enhanced Input (enabled in project plugins)
---
## Prerequisites
1. **Project Settings → Plugins → Enhanced Input** → Enabled ✓
2. Restart editor after enabling
---
## Input Actions — Create All (17 assets)
### Gameplay Actions
| Asset Name | Value Type | Description |
|-----------|-----------|-------------|
| `IA_Move` | `Axis2D` | WASD / Left Stick movement |
| `IA_Look` | `Axis2D` | Mouse / Right Stick camera |
| `IA_Jump` | `Digital (bool)` | Jump / Vault |
| `IA_Sprint` | `Digital (bool)` | Sprint (hold) |
| `IA_Crouch` | `Digital (bool)` | Toggle crouch |
| `IA_Interact` | `Digital (bool)` | Primary interact (E / X) |
| `IA_InteractHold` | `Digital (bool)` | Hold interaction (hold E) |
| `IA_Reload` | `Digital (bool)` | Reload weapon |
| `IA_Fire` | `Digital (bool)` | Primary fire |
| `IA_AimDownSights` | `Digital (bool)` | Aim (hold) |
| `IA_Melee` | `Digital (bool)` | Melee attack |
| `IA_UseItem` | `Digital (bool)` | Use equipped/quick-slot item |
| `IA_ToggleInventory` | `Digital (bool)` | Open/close inventory |
| `IA_ToggleJournal` | `Digital (bool)` | Open/close journal |
| `IA_Pause` | `Digital (bool)` | Pause menu |
| `IA_Hide` | `Digital (bool)` | Enter/exit hiding |
| `IA_Peek` | `Digital (bool)` | Peek while hiding |
### How to Create Each
1. Content Browser → `Content/Framework/Input/Actions/`
2. Right-click → **Input → Input Action**
3. Name: `IA_{Action}`
4. Open the asset → set **Value Type** per the table above
5. Optionally add **Triggers** (Tap, Hold, Pressed, Released)
6. Optionally add **Modifiers** (Negate, Dead Zone, Swizzle Axis)
### Common Trigger/Modifier Setup
```
IA_Interact: Trigger: Pressed
IA_InteractHold: Trigger: Hold (HoldTimeThreshold = 0.5)
IA_Sprint: Trigger: Hold
IA_Crouch: Trigger: Pressed (toggle behavior in code)
IA_Fire: Trigger: Pressed + Trigger: Hold (for auto-fire)
IA_AimDownSights: Trigger: Hold
IA_Pause: Trigger: Pressed
```
---
## Input Mapping Contexts — Create All (6 assets)
| Asset Name | Priority | Contains These Actions | When Active |
|-----------|----------|----------------------|-------------|
| `IMC_Default` | 0 | Move, Look, Jump, Sprint, Crouch, Interact, InteractHold, Reload, Fire, AimDownSights, Melee, UseItem, ToggleInventory, ToggleJournal, Pause | Always (lowest priority) |
| `IMC_Hiding` | 5 | Hide, Peek (overrides some IMC_Default) | While hidden |
| `IMC_WristwatchUI` | 10 | Interact (re-mapped to wristwatch), Look | Wristwatch mode |
| `IMC_Inspection` | 20 | Look (rotation only), Interact (exit inspect) | 3D inspect mode |
| `IMC_UI` | 100 | Pause (close), Interact (confirm) | Any menu open |
| `IMC_Vehicle` | 3 | Move (vehicle), Look, Interact (exit) | While in vehicle |
### How to Create Each
1. Content Browser → `Content/Framework/Input/Contexts/`
2. Right-click → **Input → Input Mapping Context**
3. Name: `IMC_{Context}`
4. Open → **Add Mapping** for each action in the table
5. For each mapping, select the `IA_` asset and assign a key binding
### Default Key Bindings (PC — IMC_Default)
| Action | Primary Key | Secondary Key |
|--------|------------|---------------|
| `IA_Move` | `W/A/S/D` | Left Stick |
| `IA_Look` | `Mouse XY` | Right Stick |
| `IA_Jump` | `Space` | `A` (gamepad) |
| `IA_Sprint` | `Left Shift` | Left Stick Click |
| `IA_Crouch` | `Left Ctrl` | `B` (gamepad) |
| `IA_Interact` | `E` | `X` (gamepad) |
| `IA_Reload` | `R` | `Y` (gamepad) |
| `IA_Fire` | `Left Mouse` | Right Trigger |
| `IA_AimDownSights` | `Right Mouse` | Left Trigger |
| `IA_Melee` | `V` | Right Stick Click |
| `IA_UseItem` | `Q` | `D-Pad Up` |
| `IA_ToggleInventory` | `Tab` | `Select` |
| `IA_ToggleJournal` | `J` | `D-Pad Left` |
| `IA_Pause` | `Escape` | `Start` |
---
## Context Priority System
```
IMC_UI (100) ← Highest — blocks everything
IMC_Inspection (20)
IMC_WristwatchUI (10)
IMC_Hiding (5)
IMC_Vehicle (3)
IMC_Default (0) ← Lowest — always active
```
When a higher-priority context is pushed, conflicting inputs from lower contexts are overridden. Non-conflicting inputs still pass through.
---
## Test It
- [ ] All 17 IA_ assets created with correct Value Types
- [ ] All 6 IMC_ assets created with correct mappings
- [ ] PIE: WASD moves character, mouse looks around, E interacts
- [ ] Push IMC_Hiding → IMC_Default actions blocked except those also in IMC_Hiding
- [ ] Open inventory → IMC_UI pushes → cursor appears → game inputs blocked