安装与初始化
从 Asset Store 导入 GCS,先运行随包 Demo 确认安装结果,再用 Initialize System 为自己的场景接通 Manager、六类数据库、Bootstrap 与战斗表现层
导入 GCS 并确认项目环境
GCS 支持 Unity 2021.3 及更高版本,推荐使用 Unity 6,随包 Demo 已适配 Built-in Render Pipeline 与 URP,运行时不依赖第三方插件
HDRP管线在最新的Unity版本中已被弃用,GCS将不会为此而适配
通过 Unity Asset Store 获取 GCS 后,在编辑器中完成导入
- 打开 Window > Package Manager
- 将左上角的 Packages 切换为 My Assets,找到 Game Card System
- 点击 Download,下载完成后点击 Import
- 等待 Unity 完成资源导入与脚本编译
Unity 的完整操作说明见 Asset Store 资源包导入说明
导入完成后,GCS 的包内容位于以下目录
Assets/TinyGiants/GameCardSystem/
此时先确认 Console 中没有 GCS 编译错误,再打开编辑器工具,脚本仍在编译时,窗口内容可能暂时为空或显示不完整
先运行随包 Demo
在搭建自定义场景之前,先运行一场已经完成内容、运行时与表现层接线的战斗,可以最快确认资源导入、脚本编译、输入系统与 Demo UI 都处于可用状态
在 Project 窗口中打开
Assets/TinyGiants/GameCardSystem/Demo/Scenes/Hunter/1-Fenmoss Hollow.unity
如果 Unity 弹出 TextMeshProUGUI 资源缺失提示,先导入 TMP Essential Resources,再重新打开场景
一般在空工程内双击任意的演示Demo,都会自动触发一次TMP Essential Resources的安装
进入 Play Mode 后,棋盘上应出现起手手牌、能量、玩家与敌人单位、敌人意图和结束回合按钮,此时已经可以选择目标并打出卡牌,如果战斗可以正常操作,则说明包资源、脚本与 Demo 表现层已经完成接入,完整的 Demo 验证过程见第一场战斗,而对于自己创建的场景则从下面开始接入同一套运行环境
初始化自己的战斗场景
创建或打开要承载战斗的场景,将它保存并保持为当前活动场景,随后从 Unity 顶部菜单打开 GCS 总面板
Tools > TinyGiants > GCS > Game Card System

这个窗口把首次接入需要完成的工作与用户常用操作集中在了同一处,你可以先通过 System Information 确认当前项目环境,再用 Initialize System 为活动场景补齐 GCS 运行对象,待初始化完成后,Workbench 与 Monitor 也会从这里进入可用状态,面板其余入口见系统面板
确认 System Information
System Information 会读取当前 Unity 版本、渲染管线、编辑器平台与脚本后端,让环境信息在初始化前就可以直接核对

随包 Demo 当前支持 Built-in Render Pipeline 与 URP,如果这里检测到其他渲染管线,应先切换到受支持的管线或自行处理材质与 Shader 适配,再继续验证 Demo 表现
运行 Initialize System
场景尚未接入 GCS 时,初始化卡片会显示黄色 Initialize System 按钮与未初始化提示

点击 Initialize System 后,GCS 会围绕当前活动场景完成以下接线
| 接入内容 | 初始化结果 |
|---|---|
| Manager 与启动入口 | 创建或复用 GameCardManager,并在同一 GameObject 上补充 GameCardEncounterBootstrap |
| 六类内容数据库 | 注册随包的 Card、Deck、Player Unit、Enemy Unit、Status 与 Encounter 预设数据库 |
| 战斗场景根对象 | 从随包场景模板补齐 Main Camera、EventSystem、Background、Battle Runtime 与 Battle Fx Directors |
| 输入与背景 | 为主相机补充 2D 射线检测,并为自定义场景接入预设遭遇战背景解析 |
接线完成后,按钮会变为绿色 System Initialized · Re-initialize,下方状态条会显示 Manager、六类数据库与 Bootstrap 已经就绪

这个绿色状态表示场景中已经存在 GameCardManager,并且六个数据库组都至少注册了一个数据库
场景是否会在 Play Mode 自动开始战斗,还要继续确认数据库的活动状态与 Bootstrap 的遭遇战设置
Re-initialize 可以用于补齐后来缺失的对象或数据库,它会复用已有 Manager、跳过已经注册的数据库并保留自定义数据库,而被手动关闭的数据库则不会在重新初始化时自动启用,现有活动状态始终以 Manager Inspector 中的开关为准
检查 Manager 与六类数据库
在 Hierarchy 中选中 GameCardManager,Inspector 会依次显示 Card、Deck、Player Unit、Enemy Unit、Status 与 Encounter 六个数据库组,全新初始化的场景中,每组都应显示 1/1 Active

数据库决定哪些内容可以被编辑器选择器与战斗运行时发现,只把资产放进项目并不会自动让它参与战斗,如果某组显示 0/1 Active,应手动重新启用对应预设数据库
数据库添加、排序与活动的具体规则详见数据库设置
指定启动遭遇战
数据库接通后,在同一 GameObject 上展开 GameCardEncounterBootstrap,把 Default Encounter 设置为要运行的遭遇战,首次验证建议选择 Fenmoss Hollow,并保持 Auto Start On Play 开启
| 字段 | 作用 | 首次验证 |
|---|---|---|
| Default Encounter | 指定进入 Play Mode 后要创建的玩家、敌人、规则与奖励 | 选择 Fenmoss Hollow |
| Auto Start On Play | 控制 Bootstrap 是否在场景启动时自动发起战斗 | 保持开启 |
| Events | 在战斗启动后调用 UnityEvent,或在启用 GES 集成时发送 GES 事件 | 暂时保持默认 |
完成设置后,Inspector 会显示绿色 Ready — starts on Play 状态

到这里,场景中的内容来源、启动入口与默认遭遇战已经连成一条完整链路,战斗既可以由 Bootstrap 自动开始,也可以交给地图、关卡或存档流程通过代码决定开始时机
进入 Play Mode
- Bootstrap(零代码)
- C# API
保持 Default Encounter 已指定、Auto Start On Play 已开启,然后进入 Play Mode,Bootstrap 会把该遭遇战交给 GameCardManager,战斗随场景一起开始
如果战斗需要由地图选择、关卡流程或存档状态触发,关闭 Auto Start On Play,并在自己的流程中调用统一入口
using TinyGiants.GCS.Runtime;
using UnityEngine;
public sealed class BattleStarter : MonoBehaviour
{
[SerializeField] private GameEncounter encounter;
private void Start()
{
GCSApi.StartBattle(encounter);
}
}
GCSApi.StartBattle 只有在场景中存在 GameCardManager 时才会转交启动请求,传入的 GameEncounter 也不能为 null,Initialize System 会负责创建或复用 Manager,并注册首次运行需要的随包数据库
战斗的其他启动方式、运行前条件与事件时机见战斗启动
确认场景已经可以运行
进入 Play Mode 后,从场景对象到可玩的战斗应当形成以下连续结果
GameCardEncounterBootstrap读取已指定的 Default EncounterGameCardManager加载遭遇战引用的玩家、卡组、敌人、规则与奖励Battle Runtime创建玩家、敌人、手牌、能量、意图与回合状态- Battle UI 显示棋盘,玩家可以选择目标、打出卡牌并结束回合
同时确认 Console 中没有 GCS 报错,Hierarchy 中保留 GameCardManager、Main Camera、EventSystem、Background、Battle Runtime 与 Battle Fx Directors
回到 GameCardManager Inspector 时,六个数据库组都应保持活动状态
-
如果进入 Play Mode 后没有开始战斗,先检查 Default Encounter 与 Auto Start On Play
-
如果战斗已经开始但手牌或单位内容缺失,再检查对应数据库是否为 Active,更多定位入口见常见问题
场景通过这组验证后,可以继续了解项目结构,把随包 Demo 与自己的正式内容分开放置,也可以直接进入第一场战斗,沿着完整回合验证出牌、状态、敌人意图与奖励结算