Skip to main content

Installation and Initialization

Guide

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.

tip

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.

  1. Open Window > Package Manager.
  2. Change Packages in the upper-left corner to My Assets, then find Game Card System.
  3. Click Download, then click Import after the download finishes.
  4. 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
tip

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

The Game Card System dashboard with system initialization, environment information, Editor tools, and resource shortcuts

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.

System Information showing the current Unity Version, Render Pipeline, Editor Platform, and Scripting Backend

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.

The Game Card System dashboard showing Initialize System before the scene is initialized

Click Initialize System. GCS connects the following parts around the current active scene:

Connected contentInitialization result
Manager and startup entry pointCreates or reuses GameCardManager, then adds GameCardEncounterBootstrap to the same GameObject
Six content database typesRegisters the included preset Card, Deck, Player Unit, Enemy Unit, Status, and Encounter databases
Battle scene root objectsAdds Main Camera, EventSystem, Background, Battle Runtime, and Battle Fx Directors from the included scene template
Input and backgroundAdds 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.

The Game Card System dashboard showing System Initialized and ready states after initialization

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.

tip

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.

All six preset database groups showing 1/1 Active in the GameCardManager Inspector

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.

FieldPurposeFirst check
Default EncounterDefines the player, enemies, rules, and rewards created when Play Mode beginsSelect Fenmoss Hollow
Auto Start On PlayControls whether Bootstrap starts the battle automatically when the scene startsLeave enabled
EventsInvokes a UnityEvent after battle startup, or sends a GES event when GES integration is enabledLeave the defaults unchanged for now

After configuration, the Inspector shows the green Ready โ€” starts on Play status.

GameCardEncounterBootstrap with Fenmoss Hollow selected and the 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โ€‹

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.

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:

  1. GameCardEncounterBootstrap reads the assigned Default Encounter.
  2. GameCardManager loads the player, deck, enemies, rules, and rewards referenced by the encounter.
  3. Battle Runtime creates the player, enemies, hand, energy, intents, and turn state.
  4. 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.

tip
  • 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.