# vigneshwaran-48/ue-aura architecture

> Architecture diagram of the GitHub repository vigneshwaran-48/ue-aura, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/vigneshwaran-48/ue-aura
- Repository: https://github.com/vigneshwaran-48/ue-aura

## Overview

Aura Framework is a data-driven Unreal Engine gameplay plugin. A player controller applies pawn presentation and input; the documented input-to-tag flow drives gameplay systems, while separate branches support inventory, equipment, interaction, animation overlays, and UI. Experience/session transitions configure gameplay context. The README documents several integrations; source excerpts and the index confirm some concrete calls, but many subsystem internals were not sampled, so undocumented connections are omitted.

Main entry points: [`Source/Aura/Private/Character/AuraPlayerController.cpp`](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Character/AuraPlayerController.cpp) (Player Controller), [`Source/Aura/Private/AuraGameplayTags.cpp`](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/AuraGameplayTags.cpp) (Gameplay Tags), [`Source/Aura/Private/Equipment/AuraEquipmentManagerComponent.cpp`](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Equipment/AuraEquipmentManagerComponent.cpp) (Equipment Manager), [`Source/Aura/Private/Inventory/AuraInventoryComponent.cpp`](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Inventory/AuraInventoryComponent.cpp) (Inventory)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_core["Gameplay Core"]
  node_controller["Player Controller"]
  node_pawn["Pawn Data<br/>[AuraPawnData.cpp]"]
  node_input["Enhanced Input"]
  node_tags["Gameplay Tags"]
  node_abilities["Ability System"]
end

subgraph group_items["Items and Combat"]
  node_inventory["Inventory"]
  node_grid["Grid Layout"]
  node_item["Item Definitions"]
  node_item_ui["Inventory Interaction"]
  node_equipment["Equipment Manager"]
  node_weapon["Ranged Weapons"]
end

subgraph group_world["World and Interaction"]
  node_experience["Experience"]
  node_session["Game Session"]
  node_transition["World Transition"]
  node_interaction["Interaction"]
end

subgraph group_presentation["UI and Animation"]
  node_overlay["Animation Overlays"]
  node_ui_manager["UI Manager"]
  node_ui["UI Framework"]
  node_indicators["Actor Indicators"]
end

node_player(("Player"))

node_player -->|"controls"| node_controller
node_controller -->|"applies data"| node_pawn
node_controller -->|"configures input"| node_input
node_controller -->|"pushes layout"| node_ui
node_input -->|"maps to tags"| node_tags
node_tags -->|"drive activation"| node_abilities
node_experience -->|"refreshes presentation"| node_controller
node_session -->|"requests transition"| node_transition
node_session -->|"selects experience"| node_experience
node_interaction -->|"uses gameplay tags"| node_tags
node_inventory -->|"stores instances"| node_item
node_grid -->|"reads inventory"| node_inventory
node_grid -->|"reads fragments"| node_item
node_item_ui -->|"moves items"| node_grid
node_item_ui -->|"reads inventory"| node_inventory
node_equipment -->|"equips from"| node_inventory
node_equipment -->|"uses ability system"| node_abilities
node_equipment -.->|"supports weapon equipment"| node_weapon
node_equipment -.->|"drives overlays"| node_overlay
node_ui_manager -->|"uses layer tags"| node_tags
node_ui_manager -.->|"manages UI"| node_ui
node_controller -->|"owns component"| node_indicators
node_overlay -->|"uses slot tags"| node_tags

click node_controller "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Character/AuraPlayerController.cpp"
click node_pawn "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Character/AuraPawnData.cpp"
click node_input "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Input/AuraEnhancedInputComponent.cpp"
click node_tags "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/AuraGameplayTags.cpp"
click node_abilities "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/AuraAbilitySystemComponent.cpp"
click node_experience "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Experience/AuraExperienceSubsystem.cpp"
click node_session "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/GameModes/AuraGameSessionSubsystem.cpp"
click node_transition "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/WorldTransition/AuraWorldTransitionSubsystem.cpp"
click node_interaction "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Interaction/Abilities/AuraGameplayAbility_Interact.cpp"
click node_inventory "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Inventory/AuraInventoryComponent.cpp"
click node_grid "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Inventory/Layouts/AuraGridInventoryLayout.cpp"
click node_item "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Inventory/AuraItemDefinition.cpp"
click node_item_ui "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Inventory/UI/Grid/AuraInventoryInteractController.cpp"
click node_equipment "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Equipment/AuraEquipmentManagerComponent.cpp"
click node_weapon "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Weapons/Abilities/AuraAbility_WeaponFire.cpp"
click node_overlay "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Animation/Overlay/AuraOverlayComponent.cpp"
click node_ui_manager "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/UI/AuraUIManagerComponent.cpp"
click node_ui "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/UI/AuraPrimaryGameLayout.cpp"
click node_indicators "https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Public/UI/IndicatorSystem/AuraIndicatorManagerComponent.cpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_controller,node_pawn,node_input,node_tags,node_abilities toneBlue
class node_inventory,node_grid,node_item,node_item_ui,node_equipment,node_weapon toneAmber
class node_experience,node_session,node_transition,node_interaction toneMint
class node_overlay,node_ui_manager,node_ui,node_indicators toneRose
class node_player toneIndigo
```

## Components

### Gameplay Core

- [Player Controller](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Character/AuraPlayerController.cpp): `Source/Aura/Private/Character/AuraPlayerController.cpp`
- [Pawn Data](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Character/AuraPawnData.cpp): `Source/Aura/Private/Character/AuraPawnData.cpp`
- [Enhanced Input](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Input/AuraEnhancedInputComponent.cpp): `Source/Aura/Private/Input/AuraEnhancedInputComponent.cpp`
- [Gameplay Tags](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/AuraGameplayTags.cpp): `Source/Aura/Private/AuraGameplayTags.cpp`
- [Ability System](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/AuraAbilitySystemComponent.cpp): `Source/Aura/Private/AuraAbilitySystemComponent.cpp`

### Items and Combat

- [Inventory](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Inventory/AuraInventoryComponent.cpp): `Source/Aura/Private/Inventory/AuraInventoryComponent.cpp`
- [Grid Layout](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Inventory/Layouts/AuraGridInventoryLayout.cpp): `Source/Aura/Private/Inventory/Layouts/AuraGridInventoryLayout.cpp`
- [Item Definitions](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Inventory/AuraItemDefinition.cpp): `Source/Aura/Private/Inventory/AuraItemDefinition.cpp`
- [Inventory Interaction](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Inventory/UI/Grid/AuraInventoryInteractController.cpp): `Source/Aura/Private/Inventory/UI/Grid/AuraInventoryInteractController.cpp`
- [Equipment Manager](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Equipment/AuraEquipmentManagerComponent.cpp): `Source/Aura/Private/Equipment/AuraEquipmentManagerComponent.cpp`
- [Ranged Weapons](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Weapons/Abilities/AuraAbility_WeaponFire.cpp): `Source/Aura/Private/Weapons/Abilities/AuraAbility_WeaponFire.cpp`

### World and Interaction

- [Experience](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Experience/AuraExperienceSubsystem.cpp): `Source/Aura/Private/Experience/AuraExperienceSubsystem.cpp`
- [Game Session](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/GameModes/AuraGameSessionSubsystem.cpp): `Source/Aura/Private/GameModes/AuraGameSessionSubsystem.cpp`
- [World Transition](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/WorldTransition/AuraWorldTransitionSubsystem.cpp): `Source/Aura/Private/WorldTransition/AuraWorldTransitionSubsystem.cpp`
- [Interaction](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Interaction/Abilities/AuraGameplayAbility_Interact.cpp): `Source/Aura/Private/Interaction/Abilities/AuraGameplayAbility_Interact.cpp`

### UI and Animation

- [Animation Overlays](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/Animation/Overlay/AuraOverlayComponent.cpp): `Source/Aura/Private/Animation/Overlay/AuraOverlayComponent.cpp`
- [UI Manager](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/UI/AuraUIManagerComponent.cpp): `Source/Aura/Private/UI/AuraUIManagerComponent.cpp`
- [UI Framework](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Private/UI/AuraPrimaryGameLayout.cpp): `Source/Aura/Private/UI/AuraPrimaryGameLayout.cpp`
- [Actor Indicators](https://github.com/vigneshwaran-48/ue-aura/blob/main/Source/Aura/Public/UI/IndicatorSystem/AuraIndicatorManagerComponent.cpp): `Source/Aura/Public/UI/IndicatorSystem/AuraIndicatorManagerComponent.cpp`

### Other components

- **Player**

## Connections

- Player → Player Controller: controls
- Player Controller → Pawn Data: applies data (evidence: `Source/Aura/Private/Character/AuraPlayerController.cpp`)
- Player Controller → Enhanced Input: configures input (evidence: `Source/Aura/Private/Character/AuraPlayerController.cpp`)
- Player Controller → UI Framework: pushes layout (evidence: `Source/Aura/Private/Character/AuraPlayerController.cpp`)
- Enhanced Input → Gameplay Tags: maps to tags
- Gameplay Tags → Ability System: drive activation
- Experience → Player Controller: refreshes presentation (evidence: `Source/Aura/Private/Character/AuraPlayerController.cpp`)
- Game Session → World Transition: requests transition (evidence: `Source/Aura/Private/GameModes/AuraGameSessionSubsystem.cpp`)
- Game Session → Experience: selects experience (evidence: `Source/Aura/Private/GameModes/AuraGameSessionSubsystem.cpp`)
- Interaction → Gameplay Tags: uses gameplay tags
- Inventory → Item Definitions: stores instances
- Grid Layout → Inventory: reads inventory (evidence: `Source/Aura/Private/Inventory/Layouts/AuraGridInventoryLayout.cpp`)
- Grid Layout → Item Definitions: reads fragments (evidence: `Source/Aura/Private/Inventory/Layouts/AuraGridInventoryLayout.cpp`)
- Inventory Interaction → Grid Layout: moves items (evidence: `Source/Aura/Private/Inventory/UI/Grid/AuraInventoryInteractController.cpp`)
- Inventory Interaction → Inventory: reads inventory (evidence: `Source/Aura/Private/Inventory/UI/Grid/AuraInventoryInteractController.cpp`)
- Equipment Manager → Inventory: equips from (evidence: `Source/Aura/Private/Equipment/AuraEquipmentManagerComponent.cpp`)
- Equipment Manager → Ability System: uses ability system (evidence: `Source/Aura/Private/Equipment/AuraEquipmentManagerComponent.cpp`)
- Equipment Manager → Ranged Weapons: supports weapon equipment
- Equipment Manager → Animation Overlays: drives overlays
- UI Manager → Gameplay Tags: uses layer tags (evidence: `Source/Aura/Private/UI/AuraUIManagerComponent.cpp`)
- UI Manager → UI Framework: manages UI
- Player Controller → Actor Indicators: owns component
- Animation Overlays → Gameplay Tags: uses slot tags
