add blueprints
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# DA_DataAssetArchitecture — Data Asset Architecture Overview
|
||||
|
||||
**Parent Class:** `UDataAsset`
|
||||
**Dependencies:** All consuming systems
|
||||
**Purpose:** Overview of all 20 Data Asset types in the framework, naming conventions, and dependency rules.
|
||||
|
||||
---
|
||||
|
||||
## Architecture
|
||||
|
||||
The Modular Game Framework uses `UDataAsset` (and subclass `UPrimaryDataAsset` where persistent identifiers are needed) as the primary authoring format for designer-facing content. Each DA type covers one content domain: weapons, AI profiles, atmosphere presets, narrative data, encounter definitions, etc.
|
||||
|
||||
### Conventions
|
||||
- **Naming:** `DA_<Domain><Subtype>` — e.g., `DA_WeaponData`, `DA_AIProfile`, `DA_AtmosphereProfile`
|
||||
- **Storage:** All DA files live in `Content/DataAssets/<Domain>/` in-engine
|
||||
- **Loading:** Use `UAssetManager` with `FPrimaryAssetType` and `FPrimaryAssetId` for async loading
|
||||
- **Validation:** Each DA implements `ValidateData()` for editor-time data integrity checks
|
||||
- **Gameplay Tags:** All DAs carry a `FGameplayTagContainer` for query and filtering
|
||||
|
||||
### Dependency Rules
|
||||
1. DAs reference other DAs by `FPrimaryAssetId` or `TSoftObjectPtr`, never by hard pointer
|
||||
2. No DA may reference a runtime system; only other DAs
|
||||
3. Circular DA references are prohibited — use `World Context Object` for runtime resolution
|
||||
4. All DA types are registered in `DefaultGame.ini` under `[/Script/Engine.AssetManagerSettings]`
|
||||
|
||||
### Registered DA Types (Section 13 of Master)
|
||||
|
||||
| # | DA Type | Domain | Consumed By |
|
||||
|---|---------|--------|-------------|
|
||||
| 1 | `DA_ItemData` | Items | `BPC_InventorySystem` |
|
||||
| 2 | `DA_WeaponData` | Weapons | `BPC_FirearmSystem`, `BPC_MeleeSystem` |
|
||||
| 3 | `DA_AmmoData` | Weapons | `BPC_AmmoComponent` |
|
||||
| 4 | `DA_AIProfile` | AI | `AI_BaseAgentController` |
|
||||
| 5 | `DA_NarrativeData` | Narrative | `BPC_NarrativeStateSystem` |
|
||||
| 6 | `DA_EndingData` | Narrative | `BPC_EndingAccumulator` |
|
||||
| 7 | `DA_InteractionData` | Interaction | `BPC_InteractionDetector` |
|
||||
| 8 | `DA_ObjectiveData` | Narrative/UI | `BPC_ObjectiveSystem`, `WBP_ObjectiveDisplay` |
|
||||
| 9 | `DA_EncounterData` | Adaptive | `BPC_ProceduralEncounter` |
|
||||
| 10 | `DA_AtmosphereProfile` | Adaptive | `BPC_AtmosphereStateController` |
|
||||
| 11 | `DA_ScareEvent` | Adaptive | `BPC_ScareEventSystem` |
|
||||
| 12 | `DA_RoomMutation` | Adaptive | `BPC_AdaptiveEnvironmentDirector` |
|
||||
| 13 | `DA_BehaviourVariant` | AI | `BPC_BehaviourVariantSelector` |
|
||||
| 14 | `DA_HapticProfile` | Settings | `BPC_HapticsController` |
|
||||
| 15 | `DA_AdaptationRule` | Adaptive | `BPC_DifficultyManager` |
|
||||
| 16 | `DA_EquipmentConfig` | Inventory | `BPC_EquipmentSlotSystem` |
|
||||
| 17 | `DA_PuzzleData` | Interaction | `BP_PuzzleDeviceActor` |
|
||||
| 18 | `DA_RareEvent` | Adaptive | `BPC_RareEventSystem` |
|
||||
| 19 | `DA_LevelConfig` | Core | `GM_CoreGameMode` |
|
||||
| 20 | `DA_AudioSettings` | Audio | `SS_AudioManager` (132) — replaces deprecated `DA_AudioPresets` |
|
||||
|
||||
### Reuse Notes
|
||||
- This overview serves as a registry — all DA types referenced in any system must appear here
|
||||
- New DA types require registration in DefaultGame.ini AND this document
|
||||
- All individual DA spec files are in `docs/blueprints/14-data-assets/`
|
||||
Reference in New Issue
Block a user