Thank you for visiting this site.
This article provides a detailed guide to “Quests”, one of Game Creator 2’s modules — the quest and mission management system.
Quests is an extension asset that handles game progression management for main quests, side quests, and achievements through Task hierarchies, state machines, minimap/compass/indicators in an end-to-end manner.
Official documentation: Game Creator 2 Documentation
You can find a complete list of all articles in this series here:
What are Quests?
A quest management system provided as a Game Creator 2 module.
Key features:
- A “Quest” has multiple “Tasks”, and the quest completes when all (or some) Tasks are completed
- Tasks can have child Tasks (Subtasks) in a recursive hierarchical structure
- Players hold their accepted/completed quests via the “Journal” component
- “Points of Interest” (POIs) placed in the world are automatically shown only while their associated Task is Active
- Standard UI includes Minimap / Compass / Indicators / Quest List / Quest Detail
Installation
- Purchase the Quests module from the Asset Store
- Install via
Window > Package Manager - Samples from
Game Creator > Install...:- Examples: Scenario-based scene collection
- UI: UI bundle for Minimap/Compass/Indicators/Quest List/Journal screens
- Examples depend on UI/skins (auto-resolved)
- Install location:
Assets/Plugins/GameCreator/Installs/Quests.Examples/
Quest Asset
Creation
Right-click in Project → Create > Game Creator > Quests > Quest
Three Sections
(a) General Information (Top)
- Name / Description / Color / Sprite: For UI display
- Type:
- Normal: Standard quest
- Hidden: Hidden from UI. Used for achievements or internal tracking
- Sorting Order: Display priority in UI lists (higher values appear first)
- ID: Unique identifier. Can be regenerated with the
Regeneratebutton on collision
(b) Tasks Hierarchy (Center)
The Task hierarchy tree. Details in the next section.
(c) Instructions (Bottom)
Instruction lists executed on Quest state changes:
- On Activate: When the Quest becomes Active
- On Complete: When the Quest is completed (standard for rewards/notifications)
- On Abandon: When the Quest is abandoned
- On Fail: When the Quest fails
- On Deactivate: When the Quest becomes Inactive
Quest State Transitions
- Initial state: Inactive
Quest Activatemakes it Active. The first Root Task also auto-activates, and its Subtasks cascade-activate- Active → Completed / Abandoned / Failed / Inactive
- When all Root Tasks complete sequentially → Quest auto-completes
- If any Root Task is Abandoned/Failed → Quest transitions to the same state
Quest Deactivatecan return it to Inactive at any time
Recommended Splitting
Packing too many Tasks into one Quest makes management difficult, so splitting the main story into multiple Quests and activating the next Quest via the previous Quest’s On Complete is the recommended pattern.
Tasks (Task Hierarchy)
Creating Tasks
Two buttons at the top-left of the Tasks Hierarchy panel:
- Left button: Create a new Task as a sibling of the current selection
- Right button: Create a new Task as a child of the current selection
Drag & drop to rearrange the hierarchy. The top-right button toggles the Task Inspector.
Task States (5 Types)
- Inactive: Initial state
- Active: In progress
- Completed / Abandoned / Failed (collectively “Finished” states)
State Transition Rules
- Inactive → Active only
- Active → Inactive or any Finished state
- Finished → Inactive only
- Invalid transitions (Inactive → Completed, etc.) are silently ignored (no error)
Task Inspector Structure
Settings
- Completion Mode: How Subtask completion is determined (detailed below)
- Is Hidden: Hide the Task row in the UI
- Name / Description / Color / Sprite: For UI display
Instructions
Instruction lists on Task state changes:
- On Activate / On Complete / On Abandon / On Fail / On Deactivate
The Game Developer's Map: Lessons from 20 Years of Solo DevelopmentView on Amazon →
Indie Game Survival GuideView on Amazon →
Task Counters (Counter-Based Auto-Completion)
With a Task’s Use Counter, you can set up automatic completion via numeric counters in addition to manual completion (Task Complete).
None (No Counter)
Won’t complete until Task Complete instruction is explicitly called. This is the standard mode.
Value Counter
- Count To: Target value
- Starts at 0 when Task is created. Use
Task Valueinstruction to add/subtract/set - Auto-completes the moment Count To is reached
- Example: “Defeat 5 boars” with Count To = 5,
Task Value+1 per kill
Property Counter
- Count To: Target value
- Value From: Dynamic property (Global Variable, Inventory count, Stats value, etc.)
- Detect When: Event to detect value changes (Global Variable change, Bag change, etc.)
- A powerful mode that seamlessly integrates with other modules
- Example: Link “Collect 10 potions” directly to Inventory count
Task Subtasks Completion Modes
For Tasks with child Subtasks, the “Completion Mode” determines progression.
Sequence (Sequential)
- On Activate, only the first Subtask becomes Active; others remain Inactive
- When a Subtask Completes, the next sibling becomes Active
- When all Subtasks complete, the parent Task also Completes
- If any Subtask is Abandoned/Failed, the parent Task transitions to the same state
- Example: Ordered steps like “Find the magic sword → Deliver it to the quest giver”
Combination
- On Activate, all Subtasks become Active
- Complete them in any order; parent Task Completes when all are done
- Failure/abandonment propagates to the parent
- Example: At a crime scene, do “Interview witnesses / Examine evidence / Inspect the scene” in any order
Any
- On Activate, all Subtasks become Active
- The moment any one Subtask Completes, the parent Task Completes. Remaining Subtasks stay Active
- Example: Branching choices like “Kill the enemy or let them go”
Manual
- Activating doesn’t make Subtasks Active
- An advanced mode for fully manual state control
Journal (Journal Component)
Purpose
A component that manages quest states held by the player. Usually attached to the Player, but can be attached to any GameObject (multiple characters can each have their own journal).
Settings
- Tracking Mode:
Single Quest(one only) /Multiple Quests(multiple simultaneous)- Single mode auto-untracks existing tracking when adding a new track
Debug Display
During Play mode, the Inspector switches to show Quest and Task current states in real-time. Quest/Task rows can be expanded/collapsed by clicking.
Save / Load
Add a “Remember” component to the same GameObject as the Journal and register Journal memory. Quest and Task states automatically become save targets.
Tracking (Tracked Quests)
Purpose
The HUD highlights “tracked quests.” This feature shows what the player is currently pursuing.
Operations
- Quest Track Instruction: Start tracking (Active quests only)
- Quest Untrack Instruction: Untrack individual
- Quest Untrack All Instruction: Untrack all
- When a track button is pressed in the UI, the same instruction fires internally
Points of Interest (POI)
POI Types
Components added to target GameObjects:
- Task Point of Interest: Linked to a specific Task. Only enabled when the Task is Active
- Custom Point of Interest: Fixed POI not linked to Tasks (shops, save points, enemy groups, etc.)
Display UI Components
Minimap UI / Compass UI / Indicators UI auto-detect POIs in the scene and display them on the HUD.
User Interface
Designed so that the included UI templates can be used as-is.
Quest List UI
A UI that collects and displays Quests from the Journal.
Filters:
- Show: State filter (combination of Active / Inactive / Completed / Abandoned / Failed)
- Show Hidden: Whether to include Hidden quests
- Hide Untracked: Hide untracked Quests
- Filter: Show only Quests contained in a Global/Local List Variable (for achievements/special categories)
Settings:
- Content: RectTransform where Quest UI Prefabs are instantiated (Layout Group required)
- Prefab: Prefab with Quest UI component
Quest UI
A component that displays one entry in the list.
- Title / Description / Color / Sprite: Auto-reflected
- Style Graphics: Color changes based on Active/Inactive/Completed/Tracked, etc.
- Active Elements: GameObjects shown/hidden by condition (e.g., bookmark icon if Active if Tracking)
- Interactive Elements:
- Button Track: Click to toggle tracking
- Select Quest: Button to select this Quest
- Tasks Content + Task Prefab: Display Tasks under this Quest (requires Task UI)
Task UI
Similar design to Quest UI, specialized for Tasks.
Selection UI
- Selected Quest UI: Displays the currently selected Quest (same structure as Quest UI)
- Selected Task UI: Displays the currently selected Task
- Automatically updated when a Quest/Task is selected
POI UI (Minimap / Compass / Indicators)
Minimap UI
- A rectangular UI displaying POIs as dots within a radius
- Prefab requires a Minimap Item UI component
- Radius is runtime-changeable (expand during high-speed movement, permanently expand on skill unlock, etc.)
Compass UI
- Draws a single horizontal bar at the top of the screen, showing POI directions relative to the camera forward
- Character: Origin character
- Camera: Camera for forward reference
- Prefab requires a Compass Item UI component
- v2.2.4+: Distance display (with units), fade by distance/direction
Indicators UI
- Shows POI positions as floating icons on screen
- Keep in Bounds: ON keeps off-screen POIs at screen edges with directional arrows. OFF hides them when off-screen
- Prefab requires an Indicator Item UI component
Visual Scripting Reference
Instructions (10)
Category is Quests > ....
| Instruction | Function | Main Parameters |
|---|---|---|
| Quest Activate | Activate a Quest | Journal / Quest / Wait to Complete |
| Quest Deactivate | Deactivate Quest and its Tasks to Inactive | Journal / Quest / Wait to Complete |
| Quest Track | Start tracking an Active Quest | Journal / Quest |
| Quest Untrack | Stop tracking | Journal / Quest |
| Quest Untrack All | Stop all tracking | Journal |
| Set Quest | Set a Quest value to a variable | Set / From |
| Task Complete | Complete an Active Task | Journal / Quest / Task / Wait to Complete |
| Task Abandon | Abandon an Active Task | Journal / Quest / Task / Wait to Complete |
| Task Fail | Fail an Active Task | Journal / Quest / Task / Wait to Complete |
| Task Value | Add, subtract, or set a Task’s counter value | Journal / Quest / Task / Value / Mode |
Conditions (13)
Quests (11)
| Condition | Check |
|---|---|
| Are Quests Equal | Whether two Quest assets are equal |
| Is Quest Active | Whether the Quest in the specified Journal is Active |
| Is Quest Inactive | Whether Inactive |
| Is Quest Completed | Whether Completed |
| Is Quest Abandoned | Whether Abandoned |
| Is Quest Failed | Whether Failed |
| Is Task Active | Whether the Task is Active |
| Is Task Inactive | Whether Inactive |
| Is Task Completed | Whether Completed |
| Is Task Abandoned | Whether Abandoned |
| Is Task Failed | Whether Failed |
Quests > Groups (2)
| Condition | Check |
|---|---|
| Are All Quests Completed | Whether all Quests in the specified list are Completed |
| Is Any Quest Completed | Whether any Quest in the specified list is Completed |
Events (13)
| Event | Fires When |
|---|---|
| On Quest Activate | Quest is Activated |
| On Quest Deactivate | Quest is Deactivated |
| On Quest Complete | Quest is Completed |
| On Quest Abandon | Quest is Abandoned |
| On Quest Fail | Quest is Failed |
| On Any Quest Track | Any Quest starts being tracked |
| On Any Quest Untrack | Any Quest stops being tracked |
| On Task Activate | Task is Activated |
| On Task Deactivate | Task is Deactivated |
| On Task Complete | Task is Completed |
| On Task Abandon | Task is Abandoned |
| On Task Fail | Task is Failed |
| On Task Value Change | Active Task’s counter value changes |
Tips and Notes
- Key to Quest splitting: If a Quest exceeds 50 Tasks, split it into 2–3 Quests first. Using
On Completeto activate the next Quest gives the same perceived behavior - Hidden + Counter is the basic form of achievements. Don’t show on the HUD; track condition completion in the background
- Watch out for missing “Detect When” settings in Property Counter. Wrong detection events mean the Task won’t update
- Placing Journal on the Player is standard. For multi-party RPGs, each character can have separate Journals for individual management
- POIs are linked to Task Active state: POIs auto-clear when Tasks finish, so manual removal is unnecessary
- Track count depends on UI design: Single if the HUD gets cluttered, Multiple for open-world freedom
- Understanding Task state transition rules prevents accidents with invalid instructions: Inactive → Completed is ignored. Activate first if needed
- Save granularity: Journal memory saves Quest/Task current states + counters. UI settings (selected Quest, etc.) require separate save mechanisms
- Indicators Keep in Bounds: Showing distant POIs at screen edges in open worlds creates clutter. Consider distance fade and count limits on the UI side
- Quest text can use dynamic values: Combining Description with
{var}notation allows player-name-flavored text (depends on UI-side rendering implementation)
Practical Usage — Configuration Guide by Goal
A summary of which features to use when you want to achieve a specific quest structure.
Linear main quest that progresses in order
A sequential structure like “Find the magic sword and bring it back.”
| What to Use | Setting |
|---|---|
| Quest Asset | Root’s Completion = Sequence |
| Task 1 | ”Find the magic sword” |
| Task 2 | ”Deliver to the quest giver” |
| Start Instruction | Quest Activate (registers in Journal and auto-activates the first root Task) |
Task 1 complete → Task 2 starts → Task 2 complete = quest achieved.
Investigation quest with multiple objectives in any order
Talk to witnesses, examine evidence, inspect the scene — complete all three in any order.
| What to Use | Setting |
|---|---|
| Parent Task | Completion = Combination |
| Child Subtasks | ”Talk to witnesses” / “Examine evidence” / “Inspect the scene” |
All Subtasks become Active simultaneously and the parent Task Completes when all are done.
Binary choice branching quest
Like “Kill the enemy or let them go” — the quest progresses when either is achieved.
| What to Use | Setting |
|---|---|
| Parent Task | Completion = Any |
| Child Subtask A | ”Defeat the target” |
| Child Subtask B | ”Spare the target” |
The moment either one Completes, the parent Task Completes and the branch is determined.
Item collection quest
Like “Collect 5 herbs” — automatically counts based on Inventory item count.
| What to Use | Setting |
|---|---|
| Task Counter | Select Property |
| Count To | 5 (target count) |
| Value From | Inventory count (dynamic property) |
| Detect When | Item add event |
Property Counter seamlessly links Inventory count with the target value.
Split large main quests for easier management
Split a lengthy main story into manageable chunks.
| What to Use | Setting |
|---|---|
| Quest Assets | Create separate Quests per chapter |
| Linking | Execute Quest Activate for the next Quest in the previous Quest’s On Complete |
Even when the main quest is extensive, splitting by chapter makes Inspector management easy.
Implement an achievement system using quests
Track condition completion in the background without showing the player.
| What to Use | Setting |
|---|---|
| Quest Type | Hidden |
| Quest List UI | Show Hidden = false (hidden from normal UI) |
| Separate Achievement UI | A dedicated list that shows only Hidden Quests via Filter |
Hidden + Counter combination is the basic form of achievements.
Display navigation markers at destinations
Show compass or on-screen indicators at the target locations of active Tasks.
| What to Use | Setting |
|---|---|
| Component | Task Point of Interest (attach to the destination GameObject) |
| Integration | Auto-enabled when Task is Active, auto-disabled on Inactive/Complete |
| Display UI | Compass (bar at top of screen) or Indicators (icons on screen) |
Linked to Task Active state, so auto-hides after Task completion.
Accept and report quests through Dialogue conversations
Start a quest during NPC conversation and return to receive rewards after completion.
| What to Use | Setting |
|---|---|
| Acceptance | Quest Activate in Dialogue node’s On Start |
| Report Condition | Condition Is Quest Completed on Dialogue Choice node |
| Reward | Distribute rewards in the On Start of the conditional child node (Add Item, Change Currency, etc.) |
Make quest progress compatible with save/load
Ensure quest progress isn’t lost when saving the game.
| What to Use | Setting |
|---|---|
| GameObject with Journal | Add Remember component |
| Add to Remember | Journal memory |
Just adding Remember and registering Journal memory automatically makes Quest and Task states save targets.
Expand minimap radar radius based on game progression
Expand minimap display range based on skill unlocks or level-ups.
| What to Use | Setting |
|---|---|
| Minimap UI | Radius field is runtime-changeable |
| Stats Integration | Link a Stat (e.g., explore-skill) value to Radius via Property reference |
Related Modules
- Dialogue: Quest acceptance/reporting is mostly Dialogue integration. Place
Quest Activatein node Instructions - Inventory: Property Counter links item count directly to target values
- Stats:
Compare Attribute/Check Formulafor conditional branching - Behavior / Perception: Make enemy agents Task targets, use
On Diefor Task Value - Cameras: Camera Shot switching for quest completion scenes
- Save & Load: Save progression using Journal memory
Zero to Start! Unity Game Development — Your First TextbookView on Amazon →
Unity Game Programming Bible 2nd GenerationView on Amazon →
Official Links
- Game Creator 2 Official Documentation
- Game Creator 2 — Unity Asset Store
- Quests 2 | Game Creator 2 — Unity Asset Store
Summary
This article covered the “Quests” module for Game Creator 2.
Quests provides a streamlined flow from Quest → Task hierarchy → Counter auto-completion → Journal management → POI navigation → UI display. By leveraging the four Completion Modes — Sequence, Combination, Any, and Manual — you can realize a wide range of quest structures including sequential progression, parallel objectives, and branching choices.
Visual Scripting provides 10 Instructions, 13 Conditions, and 13 Events, with rich integration with other modules including Dialogue, Inventory, Stats, and Behavior.
We hope you’ll continue reading our next article as well.
📚 Series: Game Creator 2 Complete Guide (11/16)