Installation and Initialization
Import GCS from the Asset Store, run the included Demo to confirm the installation, then use Initialize System to connect your own scene to the Manager, six database types, Bootstrap, and the battle presentation layer
Import GCS and check the project environmentโ
GCS supports Unity 2021.3 and newer, with Unity 6 recommended. The included Demo supports the Built-in Render Pipeline and URP, and the runtime has no third-party dependencies.
HDRP has been deprecated in the latest Unity versions, so GCS will not add support for it.
After obtaining GCS from the Unity Asset Store, import it in the Editor.
- Open Window > Package Manager.
- Change Packages in the upper-left corner to My Assets, then find Game Card System.
- Click Download, then click Import after the download finishes.
- Wait for Unity to finish importing assets and compiling scripts.
For the complete Unity workflow, see Importing an Asset Store package.
After import, the GCS package content is located at:
Assets/TinyGiants/GameCardSystem/
Check the Console for GCS compilation errors before opening the Editor tools. Window content can be empty or incomplete while scripts are still compiling.
Run the included Demo firstโ
Before building a custom scene, run a battle whose content, runtime, and presentation layer are already connected. This is the fastest way to confirm that the assets, script compilation, input system, and Demo UI are all working.
Open the following scene from the Project window:
Assets/TinyGiants/GameCardSystem/Demo/Scenes/Hunter/1-Fenmoss Hollow.unity
If Unity reports missing TextMeshProUGUI resources, import TMP Essential Resources, then reopen the scene.
In a new project, double-clicking any Demo scene will usually trigger the TMP Essential Resources installation automatically.
Enter Play Mode. The board should show a starting hand, energy, player and enemy units, enemy intents, and the End Turn button. You can now select targets and play cards. If the battle responds normally, the package assets, scripts, and Demo presentation layer are connected correctly. Your First Battle covers the complete Demo verification workflow. To connect a scene of your own to the same runtime environment, continue below.
Initialize your own battle sceneโ
Create or open the scene that will host the battle, save it, and keep it as the active scene. Then open the GCS dashboard from the Unity menu:
Tools > TinyGiants > GCS > Game Card System

This window brings first-time setup and common operations together. Use System Information to check the current project environment, then use Initialize System to add the required GCS runtime objects to the active scene. Once initialization finishes, Workbench and Monitor also become available from this window. System Dashboard covers the remaining entries.
Check System Informationโ
System Information reads the current Unity version, render pipeline, Editor platform, and scripting backend, so you can verify the environment before initialization.

The included Demo currently supports the Built-in Render Pipeline and URP. If another render pipeline is detected, switch to a supported pipeline or adapt the materials and Shaders yourself before checking the Demo presentation.
Run Initialize Systemโ
When the scene has not been connected to GCS, the initialization card shows a yellow Initialize System button and an uninitialized status.

Click Initialize System. GCS connects the following parts around the current active scene:
| Connected content | Initialization result |
|---|---|
| Manager and startup entry point | Creates or reuses GameCardManager, then adds GameCardEncounterBootstrap to the same GameObject |
| Six content database types | Registers the included preset Card, Deck, Player Unit, Enemy Unit, Status, and Encounter databases |
| Battle scene root objects | Adds Main Camera, EventSystem, Background, Battle Runtime, and Battle Fx Directors from the included scene template |
| Input and background | Adds 2D raycasting to the main camera and connects the preset encounter background resolver to the custom scene |
After these connections are complete, the button changes to the green System Initialized ยท Re-initialize state. The status bar below it reports that the Manager, all six database types, and Bootstrap are ready.

This green state means that the scene contains a GameCardManager and that at least one database is registered in each of the six database groups.
For the battle to start automatically in Play Mode, you must also check the active database states and the encounter assigned to Bootstrap.
Use Re-initialize to restore objects or databases that were removed later. It reuses the existing Manager, skips databases that are already registered, and preserves custom databases. A database you disabled manually will not be enabled again during re-initialization. The toggles in the Manager Inspector always define the current active state.
Check the Manager and all six database typesโ
Select GameCardManager in the Hierarchy. Its Inspector lists the Card, Deck, Player Unit, Enemy Unit, Status, and Encounter database groups in that order. In a newly initialized scene, every group should show 1/1 Active.

Databases determine which content the Editor selectors and battle runtime can discover. Placing an asset in the project does not make it available to a battle automatically. If a group shows 0/1 Active, enable the corresponding preset database again.
Database Setup explains the rules for adding, ordering, and activating databases.
Assign the startup encounterโ
Once the databases are connected, expand GameCardEncounterBootstrap on the same GameObject. Set Default Encounter to the encounter you want to run. For the first check, select Fenmoss Hollow and leave Auto Start On Play enabled.
| Field | Purpose | First check |
|---|---|---|
| Default Encounter | Defines the player, enemies, rules, and rewards created when Play Mode begins | Select Fenmoss Hollow |
| Auto Start On Play | Controls whether Bootstrap starts the battle automatically when the scene starts | Leave enabled |
| Events | Invokes a UnityEvent after battle startup, or sends a GES event when GES integration is enabled | Leave the defaults unchanged for now |
After configuration, the Inspector shows the green Ready โ starts on Play status.

The scene now has a continuous path from its content sources to the startup entry point and default encounter. Bootstrap can start the battle automatically, or a map, level, or save flow can decide when to start it from code.
Enter Play Modeโ
- Bootstrap (no code)
- C# API
Keep Default Encounter assigned and Auto Start On Play enabled, then enter Play Mode. Bootstrap passes the encounter to GameCardManager, and the battle starts with the scene.
If a map selection, level flow, or save state should trigger the battle, disable Auto Start On Play and call the shared entry point from your own flow.
using TinyGiants.GCS.Runtime;
using UnityEngine;
public sealed class BattleStarter : MonoBehaviour
{
[SerializeField] private GameEncounter encounter;
private void Start()
{
GCSApi.StartBattle(encounter);
}
}
GCSApi.StartBattle only forwards the startup request when a GameCardManager exists in the scene, and the supplied GameEncounter cannot be null. Initialize System creates or reuses the Manager and registers the included databases required for the first run.
See Starting a Battle for the other startup methods, runtime prerequisites, and event timing.
Confirm that the scene can runโ
After entering Play Mode, the scene should progress through these connected results until the battle is playable:
GameCardEncounterBootstrapreads the assigned Default Encounter.GameCardManagerloads the player, deck, enemies, rules, and rewards referenced by the encounter.Battle Runtimecreates the player, enemies, hand, energy, intents, and turn state.- Battle UI displays the board, where the player can select targets, play cards, and end the turn.
At the same time, confirm that the Console contains no GCS errors and that the Hierarchy still contains GameCardManager, Main Camera, EventSystem, Background, Battle Runtime, and Battle Fx Directors.
When you return to the GameCardManager Inspector, all six database groups should remain active.
-
If no battle starts after entering Play Mode, check Default Encounter and Auto Start On Play first.
-
If the battle starts but cards or units are missing, check whether the corresponding databases are Active. Common Symptoms provides more diagnosis paths.
Once the scene passes these checks, continue to Project Structure to keep the included Demo separate from your production content, or move directly to Your First Battle and verify card play, statuses, enemy intents, and reward resolution across a complete turn.