# Meta, Settings & Polish — Asset Creation Sheet (13 assets)

> **UE5 Path:** `Content/Framework/Achievements/`, `Content/Framework/Settings/`, `Content/Framework/Polish/`

---

## Meta (11-meta — 2 assets)

### BPC_ProgressStatTracker
**Attach to:** Player pawn

| Variable | Type | Default |
|----------|------|---------|
| `TotalPlaytime` | Float | `0.0` |
| `TotalKills` | Integer | `0` |
| `TotalDeaths` | Integer | `0` |
| `CollectiblesFound` | Integer | `0` |
| `EndingsUnlocked` | `Array<GameplayTag>` | Empty |
| `DifficultyCompleted` | `Array<GameplayTag>` | Empty |

### SS_AchievementSystem
**Parent:** `GameInstanceSubsystem` — auto-created by GameInstance

| Variable | Type |
|----------|------|
| `UnlockedAchievements` | `Array<GameplayTag>` |
| `PendingNotifications` | `Array<GameplayTag>` |

**UnlockAchievement(Tag):** → Check platform API → if not already unlocked → unlock → show toast → save

---

## Settings (12-settings — 2 assets)

### BPC_AccessibilitySettings
**Attach to:** Player pawn

| Variable | Type | Default |
|----------|------|---------|
| `bSubtitlesEnabled` | Boolean | `true` |
| `SubtitleSize` | Float | `1.0` |
| `ColorblindMode` | Integer | `0` |
| `bAimAssist` | Boolean | `true` |
| `AimAssistStrength` | Float | `0.5` |
| `DifficultyLevel` | Integer | `2` |

### SS_SettingsSystem
**Parent:** `GameInstanceSubsystem` — auto-created

| Variable | Type |
|----------|------|
| `VideoSettings` | `S_VideoSettings` |
| `AudioSettings` | `S_AudioSettings` |
| `ControlSettings` | `S_ControlSettings` |
| `AccessibilitySettings` | `S_AccessibilitySettings` |

**ApplyAndSave():** → Write to config file → broadcast OnSettingsApplied

---

## Polish (13-polish — 9 assets)

### Components

| Component | Purpose |
|-----------|---------|
| `BPC_AnalyticsTracker` | Event tracking, session metrics, telemetry |
| `BPC_DevCheatManager` | God mode, noclip, give item, teleport |
| `BPC_ErrorHandler` | Crash logging, error display, recovery |
| `BPC_FPSCounter` | FPS display, min/max/avg tracking |
| `BPC_LoadingScreen` | Progress bar, tips, background |
| `BPC_TutorialSystem` | Contextual prompts, progression, dismiss |

### Widgets

| Widget | Purpose |
|--------|---------|
| `WBP_CreditsScreen` | Auto-scroll credits, skip, post-credit scene |
| `WBP_DebugMenu` | State viewer, log, performance, cheats |
| `WBP_SplashScreen` | Studio/engine logo, skip |

---

## Data Assets — Remaining (14-data-assets — 16 total)

Create Data Asset instances (not Blueprint children) for all content definitions.

| Asset | Purpose | Key Properties |
|-------|---------|---------------|
| `DA_AdaptationRule` | Difficulty adaptation | MetricThreshold, Action, ScaleFactor |
| `DA_AtmosphereProfile` | Room atmosphere | AudioLayer, LightSettings, FogSettings, PostProcess |
| `DA_BehaviourVariant` | AI behavior | AttackPattern, PatrolStyle, AggressionLevel |
| `DA_EncounterData` | Enemy group | EnemyTypes, SpawnRules, DifficultyTier |
| `DA_EquipmentConfig` | Weapon/armor stats | DamageTypeResistances, Durability, Weight |
| `DA_HapticProfile` | Force feedback | RumblePattern, Intensity, Duration |
| `DA_InteractionData` | Interaction def | PromptText, Duration, Icon, Conditions |
| `DA_ObjectiveData` | Quest def | Title, Description, Prerequisites, Rewards |
| `DA_PuzzleData` | Puzzle def | Solution, Steps, Hints, Rewards |
| `DA_RareEvent` | Rare event | Weight, Conditions, Effects, Cooldown |
| `DA_RoomMutation` | Room change | LayoutChange, ObjectSwap, LightChange |
| `DA_ScareEvent` | Scare def | Type, Anticipation, Payoff, Recovery |
| `DA_InputMappingProfile` | Per-platform bindings | PC/Xbox/PS5 key arrays |
| `DA_AudioSettings` | Audio config | Bus volumes, ducking, pool limits |
| `DA_RoomAcousticPreset` | Room acoustics | Reverb, Occlusion, Reflection (7 presets) |

### How to Create Each Data Asset
1. Right-click → **Miscellaneous → Data Asset**
2. Class: `DA_{Type}` (if C++) or `PrimaryDataAsset`
3. Name: `DA_{Type}_{Name}` (e.g. `DA_ObjectiveData_Chapter1_FindKey`)
4. Fill properties per the spec file in `docs/blueprints/14-data-assets/`

---

## Test Meta/Settings/Polish
- [ ] Unlock achievement → toast notification appears → saved to platform
- [ ] Change settings → persist after restart
- [ ] Press F1 → debug menu opens
- [ ] Loading screen shows between levels with progress bar
- [ ] Tutorial popups appear for first-time actions
