Turn-Based Strategy Toolkit

About Turn-Based Strategy Toolkit – Unity Editor Tool & Plugin

Turn-Based Strategy Toolkit Unity Asset Overview

Honestly, building a turn-based strategy engine from scratch in Unity is one of those projects that looks straightforward on paper until you get bogged down in grid coordinate math, action point management, multi-layered turn states, and pathfinding edge cases. The Turn-Based Strategy Toolkit takes that entire burden off your shoulders by providing an extensible, event-driven framework designed specifically for tactical, grid-bound gameplay.

At its core, the architecture relies on a decoupled GridManager and TurnManager system. Rather than coupling unit behavior directly to world transform positions, units bind to grid nodes. The toolkit uses a clean state machine for turn flow: handling player decision phases, environmental hazards, enemy AI calculations, and post-turn cleanup sequentially without locking up the main thread. In my experience, the decision to separate spatial awareness from unit state logic makes integrating custom game systems—such as fog of war or cover mechanics—significantly cleaner.

Core Technical Features & Highlights

What sets this toolkit apart from generic grid controllers is its out-of-the-box readiness for modern visual pipelines alongside deep programmatic extensibility. Below are the key structural components that make it stand out:

Grid & Pathfinding Engine

The system natively supports both square and hexagonal grid topologies. Pathfinding utilizes an optimized A* algorithm customized for grid heights and terrain cost penalties. You can mark nodes as blocked, dynamic obstacles, or high-cost movement zones (like water or mud) dynamically at runtime.

Modular AI Utility Framework

Rather than relying on brittle, nested switch statements for enemy behavior, the included AI uses a utility-based evaluation system. Enemies score potential moves based on criteria like distance to target, available cover, action point cost, and kill potential before committing to a turn.

Here is an example of how straightforward it is to extend the toolkit's base action framework to create a custom target-based attack ability:

using System;
using UnityEngine;

public class DirectStrikeAction : BaseAction
{
    [SerializeField] private int attackRange = 2;
    [SerializeField] private int damageAmount = 25;

    public override string GetActionName() => "Direct Strike";

    public override void TakeAction(GridPosition targetGridPos, Action onActionComplete)
    {
        ActionStart(onActionComplete);

        // Retrieve target unit at target grid node
        Unit targetUnit = LevelGrid.Instance.GetUnitAtGridPosition(targetGridPos);
        if (targetUnit != null)
        {
            transform.LookAt(targetUnit.transform.position);
            targetUnit.TakeDamage(damageAmount);
        }

        // Finalize action and yield control back to turn system
        ActionComplete();
    }
}

Ideal Use Cases & Game Genres

While designed primarily for tactical strategy games, the underlying grid and action logic adapts remarkably well to multiple genres:

Quick-Start Unity Setup & Integration Guide

Here is the key takeaway for getting up and running quickly: don't start by building your own scene. Instead, work backwards from the included prefab hierarchy to ensure all manager instances are properly referenced in your project.

Step 1: Pipeline & Render Setup

If you are working inside a Universal Render Pipeline (URP) project, ensure you assign the included Grid Projector Renderer Feature to your main ForwardRendererData asset. This enables selection rings and path markers to draw cleanly over uneven 3D terrain without mesh z-fighting.

Step 2: Scene Hierarchy Initialization

Drop the GridSystem and TurnController prefabs into your scene. Configure the grid dimensions inside the GridManager component inspector:

// Script snippet to programmatically adjust grid dimensions at scene start
public void InitializeDynamicBoard(int width, int length, float cellSize)
{
    GridSystem.Instance.CreateGrid(width, length, cellSize);
    Pathfinding.Instance.Setup(width, length, cellSize);
}

Step 3: Unit Configuration

Add the Unit component to your character GameObject. Ensure your prefab includes an Animator setup with matching parameter triggers (e.g., "IsMoving", "Attack"). Attach your custom action scripts (like the DirectStrikeAction listed above) directly to the Unit GameObject; the toolkit automatically scans and populates available actions in the UI on selecting that unit.

Pros & Cons Assessment

Pros

Cons

Frequently Asked Questions (FAQ)

Is this toolkit compatible with Unity URP and HDRP?

Yes, out of the box the standard materials work across built-in and URP pipelines. If you are targeting HDRP, you will need to run the standard shader auto-converter for the included unit materials and update the projector shaders to use Decal Projectors.

Can I add non-standard tile shapes like isometric or irregular grids?

The engine naturally supports square and standard 2D/3D hex topologies. If you require irregular, non-uniform polygon tiles, you will need to extend the underlying GridPosition translation logic, though pathfinding node linking remains fully functional.

What is the usage and licensing policy for this asset package?

Assets provided through this platform are hosted strictly for educational, testing, and architecture evaluation purposes only. They are not cleared for commercial production releases. If you plan to ship a commercial game using this asset, please purchase an official license directly from the Unity Asset Store to support the original creators and receive official support updates.

Technical Specifications

  • Category: Tools
  • Sub-Category: Game Toolkits
  • Latest Version: 1.0.2
  • File Size: 15.97 MB

Related Unity Tools Assets