In my experience building tactical strategy games in Unity, writing a grid and turn manager from scratch is usually where projects get bogged down. Turn Based ToolKit 3 (TBTK-3) is engineered specifically to eliminate that low-level framework overhead. Architecturally, TBTK-3 relies on a decoupled, event-driven pattern that separates tile graph generation, unit state management, and turn-order scheduling from the presentation layer.
The system is built around three major manager components: GridManager, TurnManager, and UnitManager. Instead of hardcoding logic into monolithic scripts, TBTK-3 makes extensive use of ScriptableObjects for unit stats, abilities, status effects, and perk trees. This makes balancing game parameters straightforward without touching underlying C# code. Communication between grid movement, combat calculations, and visual animations happens through delegates and static events, keeping performance steady even on lower-end devices.
Under the hood, TBTK-3 provides a clean feature set tailored for tactical depth. Here is a technical breakdown of what stands out in this iteration:
Honestly, the pathfinding optimization here deserves special recognition. The custom pathfinding routines avoid expensive runtime array allocations by reusing internal node lists. Tile visibility calculations use ray-casting caches, keeping framerates solid during high-unit-count turns.
While TBTK-3 can be tailored to various styles, it excels in specific gameplay structures where grid positioning and action economy are core loops:
Integrating TBTK-3 into a fresh Unity scene is straightforward once you understand its manager setup. Here is how I usually initialize a operational tactical grid scene:
Drag the primary manager prefabs into your scene from the project window: GridManager, TurnManager, and FactionManager. Ensure your project layer collision matrix reserves a dedicated layer for dynamic dynamic obstacles and selectable grid terrain.
Select the GridManager inspector. Set the Tile Type to either Hex or Square. Configure the dimension sliders (e.g., 10x10) and assign your visual tile prefab. Click Generate Grid to populate the runtime map layout.
To write custom game logic (such as updating custom UI or firing triggers when a turn ends), hook directly into TBTK-3's event API. Here is a production-ready C# example showing how to listen for turn cycles and manipulate unit Action Points:
using UnityEngine;
using TBTK;
public class TacticalTurnHandler : MonoBehaviour
{
private void OnEnable()
{
// Register listeners to TBTK static delegates
TBTK.onTurnNew += HandleNewTurn;
TBTK.onUnitSelected += HandleUnitSelected;
}
private void OnDisable()
{
// Unregister listeners on disable to prevent memory leaks
TBTK.onTurnNew -= HandleNewTurn;
TBTK.onUnitSelected -= HandleUnitSelected;
}
private void HandleNewTurn(Unit activeUnit)
{
Debug.Log($"[TBTK Log] New turn initiated for: {activeUnit.unitName}");
// Example custom logic: Grant bonus Action Points if the unit is a commander class
if (activeUnit.IsFactionPlayer() && activeUnit.customID == "Commander")
{
activeUnit.RestoreAP(2);
Debug.Log("[TBTK Log] Commander bonus AP applied.");
}
}
private void HandleUnitSelected(Unit selectedUnit)
{
// Focus camera or trigger sound effect on selection
Debug.Log($"Unit Selected: {selectedUnit.unitName} | Current HP: {selectedUnit.GetHP()}");
}
}
Here is my honest developer evaluation of TBTK-3's performance and design tradeoffs:
Yes. TBTK-3 includes standard shaders alongside URP-compatible surface shaders for tile grids and dynamic paths. If you switch pipelines, simply re-assign the provided URP material variants to the GridManager visual material slots.
Yes. The framework includes an optional line-of-sight and fog-of-war visualizer. When units move, obstacle colliders update the node graph dynamically, recalculating dynamic path availability and visible enemy units in real time.
Assets retrieved from educational repositories or evaluation packages are strictly provided for educational, testing, and architecture-evaluation purposes only—never for commercial production releases. If you intend to ship a commercial game using Turn Based ToolKit 3, you must purchase an official license directly from the Unity Asset Store to support the original author.