# c0dingsteve/quest-system-unity3d architecture

> Architecture diagram of the GitHub repository c0dingsteve/quest-system-unity3d, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/c0dingsteve/quest-system-unity3d
- Repository: https://github.com/c0dingsteve/quest-system-unity3d

## Overview

This repository is a Unity quest-system project. Its README identifies ScriptableObject-based quests; the tree also shows quest and goal scripts, quest data assets, UI-related scripts, prefabs, and event-system scripts. These support a high-level map of authoring, quest runtime, goals, and presentation. No source excerpts were provided, so the graph does not assert call order or event wiring between those components; their precise responsibilities and interactions remain uncertain.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_authoring["Quest authoring"]
  node_quest_editor["Quest editor<br/>[QuestEditor.cs]"]
  node_quest_assets["Quest data"]
end

subgraph group_runtime["Quest runtime"]
  node_quest["Quest model<br/>[Quest.cs]"]
  node_quest_manager["Quest manager<br/>[QuestManager.cs]"]
end

subgraph group_goals["Objectives"]
  node_kill_objective["Kill objective<br/>[KillObjective.cs]"]
  node_objective_prefab["Objective prefab<br/>[Objective.prefab]"]
end

subgraph group_presentation["Quest presentation"]
  node_quest_bar["Quest bar setup"]
  node_quest_window["Quest window<br/>[QuestWindow.cs]"]
  node_quest_prefab["Quest prefab<br/>[Quest.prefab]"]
  node_reward_prefab["Reward prefab<br/>[Reward.prefab]"]
end

subgraph group_events["Events"]
  node_game_event["Game event<br/>[GameEvent.cs]"]
  node_event_manager["Event manager<br/>[EventManager.cs]"]
end

node_creator(("Quest author"))

click node_quest_editor "https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/QuestEditor.cs"
click node_quest_assets "https://github.com/c0dingsteve/quest-system-unity3d/tree/main/Assets/Quests"
click node_quest "https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/Quest.cs"
click node_quest_manager "https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/QuestManager.cs"
click node_kill_objective "https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Goals/KillObjective.cs"
click node_objective_prefab "https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Prefabs/Objective.prefab"
click node_quest_bar "https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/QuestBarInitializer.cs"
click node_quest_window "https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/QuestWindow.cs"
click node_quest_prefab "https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Prefabs/Quest.prefab"
click node_reward_prefab "https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Prefabs/Reward.prefab"
click node_game_event "https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/GameEvent.cs"
click node_event_manager "https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/EventManager.cs"

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_quest_editor,node_quest_assets toneBlue
class node_quest,node_quest_manager toneAmber
class node_kill_objective,node_objective_prefab toneMint
class node_quest_bar,node_quest_window,node_quest_prefab,node_reward_prefab toneRose
class node_game_event,node_event_manager,node_creator toneIndigo
```

## Components

### Quest authoring

- [Quest editor](https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/QuestEditor.cs): `Assets/Scripts/QuestEditor.cs`
- [Quest data](https://github.com/c0dingsteve/quest-system-unity3d/tree/main/Assets/Quests): `Assets/Quests`

### Quest runtime

- [Quest model](https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/Quest.cs): `Assets/Scripts/Quest.cs`
- [Quest manager](https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/QuestManager.cs): `Assets/Scripts/QuestManager.cs`

### Objectives

- [Kill objective](https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Goals/KillObjective.cs): `Assets/Goals/KillObjective.cs`
- [Objective prefab](https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Prefabs/Objective.prefab): `Assets/Prefabs/Objective.prefab`

### Quest presentation

- [Quest bar setup](https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/QuestBarInitializer.cs): `Assets/Scripts/QuestBarInitializer.cs`
- [Quest window](https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/QuestWindow.cs): `Assets/Scripts/QuestWindow.cs`
- [Quest prefab](https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Prefabs/Quest.prefab): `Assets/Prefabs/Quest.prefab`
- [Reward prefab](https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Prefabs/Reward.prefab): `Assets/Prefabs/Reward.prefab`

### Events

- [Game event](https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/GameEvent.cs): `Assets/Scripts/GameEvent.cs`
- [Event manager](https://github.com/c0dingsteve/quest-system-unity3d/blob/main/Assets/Scripts/EventManager.cs): `Assets/Scripts/EventManager.cs`

### Other components

- **Quest author**
