# DA_AtmosphereProfile — Data Asset

**Parent Class:** `UDataAsset`
**Dependencies:** [`BPC_AtmosphereStateController`](../10-adaptive/BPC_AtmosphereStateController.md)
**Purpose:** Defines an atmosphere preset — lighting key, audio ambience, VFX, and intensity — for the atmosphere controller.

---

## Variables / Structure

| Field | Type | Description |
|-------|------|-------------|
| `ProfileTag` | `FGameplayTag` | Unique atmosphere preset identifier |
| `AtmosphereState` | `EAtmosphereState` | Exploration, Suspense, Combat, Panic, etc. |
| `LightingKey` | `FName` | Lighting preset key for LightEventController |
| `AudioAmbienceKey` | `FName` | Audio preset key for AudioAtmosphereController |
| `VFXPresetKey` | `FName` | VFX preset key |
| `Intensity` | `float` | Global intensity bias (0.0-1.0) |
| `TransitionTime` | `float` | Seconds for crossfade to this profile |
| `bLoops` | `bool` | Whether this profile loops indefinitely |
| `Priority` | `int32` | Higher priority overrides lower |

---

## Gameplay Tags
- Namespace: `Atmosphere.<State>` (e.g., `Atmosphere.Combat`, `Atmosphere.Panic`)

---

## Validation Rules
- `ProfileTag` must be unique
- `Intensity` must be 0.0-1.0
- `TransitionTime` must be > 0

---

## Example Data

| Field | Value |
|-------|-------|
| ProfileTag | `Atmosphere.Combat.Intense` |
| AtmosphereState | Combat |
| LightingKey | `Lighting.Combat.RedAlert` |
| AudioAmbienceKey | `Audio.Combat.HighTension` |
| Intensity | 0.9 |

---

## Consumed By
- [`BPC_AtmosphereStateController`](../10-adaptive/BPC_AtmosphereStateController.md)

## Reuse Notes
- All preset data is keyed by FName for extensibility
- Profiles support full crossfade blending via TransitionTime