Skip to main content

Quick Start

GES ยท Examples

Run the one-time setup that activates the Game Event System in your project, then confirm the manager, database, and generated code are in place.

For anyone opening the Game Event System for the first time, before running any other example scene.
๐Ÿ”ˆ Hover for sound

Overviewโ€‹

This introductory scene walks you through the one-time setup required to activate the Game Event System in your project. Before exploring any demos, initialize the core framework components.

๐Ÿ’ก What You'll Learn
  • How to open the Game Event System Dashboard
  • How to initialize the system with one click
  • What components are created during setup

Demo Sceneโ€‹

Assets/TinyGiants/GameEventSystem/Demo/00_QuickStart/00_QuickStart.unity

Open this scene to begin the initialization process.


Why Initialize?โ€‹

The Game Event System relies on a persistent manager (GameEventManager) to coordinate all event operations. Without this manager, events cannot be raised or listened to.

The initialization process automatically sets up:

ComponentDescription
๐ŸŽฎ GameEventManagerSingleton manager (marked as DontDestroyOnLoad)
๐Ÿ“š Event DatabaseDefault asset to store your event definitions
๐Ÿ”— Flow ContainerVisual logic graph for event orchestration
โš™๏ธ Generated CodeC# classes for built-in event types (void, int, float, etc.)

Step-by-Step Setupโ€‹

1. Open the Dashboardโ€‹

From Unity's top menu, navigate to:

Tools โ†’TinyGiants โ†’Game Event System

This opens the Game Event System window, your central hub for managing events, databases, and flow graphs.


2. Check System Statusโ€‹

Locate the "Initialize System" section in the window:

Before Initializationโ€‹

System Uninitialized

  • The blue button "Initialize Event System" is visible
  • โš ๏ธ Warning: "Please initialize the system first"

After Initializationโ€‹

System Initialized

  • The status bar turns green with "โœ…System Initialized"
  • โœ…Confirmation: "Core managers, database and codes are ready"

3. Click Initializeโ€‹

Press the "Initialize Event System" button. The plugin will automatically perform the following:

ActionResult
Create ManagersAdds GameEventManager GameObject to the scene (persistent)
Generate DatabaseCreates DefaultEventDatabase.asset in your project
Setup Flow GraphCreates DefaultFlowContainer.asset for visual logic
Compile CodeGenerates type-safe C# event classes

The Console will display: ๐ŸŽ‰ GameEvent initialization complete


Verificationโ€‹

After initialization completes, verify the setup:

  1. Hierarchy Check ๐Ÿ”

    A GameEventManager GameObject should appear at the root level

  2. Inspector Check ๐Ÿ‘€

    Select the manager to see assigned Database and Flow Container references

  3. Console Check ๐Ÿ“

    Look for the success message confirming initialization

GameEventManager in Hierarchy

๐Ÿ”” Scene-Level Setup

Each scene needs its own GameEventManager to function. The manager determines which Event Databases and Flow Graphs are active in that scene. While the databases themselves (ScriptableObject assets) are persistent and reusable across scenes, each scene must explicitly bind which databases it will use.