Game Development

[Unity] Game Creator 2 Quests — Quest/Task Hierarchies, Journal & Minimap

[Unity] Game Creator 2 Quests — Quest/Task Hierarchies, Journal & Minimap

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:

Complete Article List — Game Creator 2 Complete Guide Series Indexen.senkohome.com/gamecreator2-series-index/

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

  1. Purchase the Quests module from the Asset Store
  2. Install via Window > Package Manager
  3. Samples from Game Creator > Install...:
    • Examples: Scenario-based scene collection
    • UI: UI bundle for Minimap/Compass/Indicators/Quest List/Journal screens
  4. Examples depend on UI/skins (auto-resolved)
  5. 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 Regenerate button 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 Activate makes 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 Deactivate can return it to Inactive at any time

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

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 Value instruction 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 > ....

InstructionFunctionMain Parameters
Quest ActivateActivate a QuestJournal / Quest / Wait to Complete
Quest DeactivateDeactivate Quest and its Tasks to InactiveJournal / Quest / Wait to Complete
Quest TrackStart tracking an Active QuestJournal / Quest
Quest UntrackStop trackingJournal / Quest
Quest Untrack AllStop all trackingJournal
Set QuestSet a Quest value to a variableSet / From
Task CompleteComplete an Active TaskJournal / Quest / Task / Wait to Complete
Task AbandonAbandon an Active TaskJournal / Quest / Task / Wait to Complete
Task FailFail an Active TaskJournal / Quest / Task / Wait to Complete
Task ValueAdd, subtract, or set a Task’s counter valueJournal / Quest / Task / Value / Mode

Conditions (13)

Quests (11)

ConditionCheck
Are Quests EqualWhether two Quest assets are equal
Is Quest ActiveWhether the Quest in the specified Journal is Active
Is Quest InactiveWhether Inactive
Is Quest CompletedWhether Completed
Is Quest AbandonedWhether Abandoned
Is Quest FailedWhether Failed
Is Task ActiveWhether the Task is Active
Is Task InactiveWhether Inactive
Is Task CompletedWhether Completed
Is Task AbandonedWhether Abandoned
Is Task FailedWhether Failed

Quests > Groups (2)

ConditionCheck
Are All Quests CompletedWhether all Quests in the specified list are Completed
Is Any Quest CompletedWhether any Quest in the specified list is Completed

Events (13)

EventFires When
On Quest ActivateQuest is Activated
On Quest DeactivateQuest is Deactivated
On Quest CompleteQuest is Completed
On Quest AbandonQuest is Abandoned
On Quest FailQuest is Failed
On Any Quest TrackAny Quest starts being tracked
On Any Quest UntrackAny Quest stops being tracked
On Task ActivateTask is Activated
On Task DeactivateTask is Deactivated
On Task CompleteTask is Completed
On Task AbandonTask is Abandoned
On Task FailTask is Failed
On Task Value ChangeActive 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 Complete to 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 UseSetting
Quest AssetRoot’s Completion = Sequence
Task 1”Find the magic sword”
Task 2”Deliver to the quest giver”
Start InstructionQuest 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 UseSetting
Parent TaskCompletion = 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 UseSetting
Parent TaskCompletion = 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 UseSetting
Task CounterSelect Property
Count To5 (target count)
Value FromInventory count (dynamic property)
Detect WhenItem 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 UseSetting
Quest AssetsCreate separate Quests per chapter
LinkingExecute 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 UseSetting
Quest TypeHidden
Quest List UIShow Hidden = false (hidden from normal UI)
Separate Achievement UIA 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 UseSetting
ComponentTask Point of Interest (attach to the destination GameObject)
IntegrationAuto-enabled when Task is Active, auto-disabled on Inactive/Complete
Display UICompass (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 UseSetting
AcceptanceQuest Activate in Dialogue node’s On Start
Report ConditionCondition Is Quest Completed on Dialogue Choice node
RewardDistribute 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 UseSetting
GameObject with JournalAdd Remember component
Add to RememberJournal 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 UseSetting
Minimap UIRadius field is runtime-changeable
Stats IntegrationLink a Stat (e.g., explore-skill) value to Radius via Property reference

  • Dialogue: Quest acceptance/reporting is mostly Dialogue integration. Place Quest Activate in node Instructions
  • Inventory: Property Counter links item count directly to target values
  • Stats: Compare Attribute / Check Formula for conditional branching
  • Behavior / Perception: Make enemy agents Task targets, use On Die for Task Value
  • Cameras: Camera Shot switching for quest completion scenes
  • Save & Load: Save progression using Journal memory


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.

Complete Article List — Game Creator 2 Complete Guide Series Indexen.senkohome.com/gamecreator2-series-index/

We hope you’ll continue reading our next article as well.