Lost Lily/Grid ToolkitDocs 1.0
Table of Contents

Choose your scene setup

Use the three questions below to choose the smallest setup that fits your game. A board can run without visuals or input.

For supported Unity versions and packages, see Compatibility and dependencies.

1. Who creates and owns the board?

For most projects, create the board in Unity and let GridBoardAuthoring own its live state. Assign a setup asset and enable Build On Awake. Grid Toolkit calls this asset-based workflow authoring.

When project code must control the board lifetime, it can create, retain, and dispose the GridBoardState. Most projects do not need this code-owned model.

Choose the built-in topology that matches the board's gameplay:

Topology Choose it for Authoring effect
Square Tile maps, boards, and inventories based on rows and columns. Use the Square board, setup, structure, and placement assets. Square is the beginner path.
Hex Six-direction movement, range, and adjacency. Use the Hex asset family; coordinates, footprint rotation, and automatic layout follow hex rules.
Triangle Triangular cells and facing-dependent adjacency. Use the Triangle asset family; footprints and orientations preserve triangle facing.

Do not mix authored asset families on one board. See Edit board assets and setups for the exact assets and sample routes.

2. Does the board need to be visible?

If no, the board owner is enough.

If yes, add GridBoardView, connect it to the board owner, and assign exactly one renderer. The view watches board state; it does not own it.

Built-in square, hex, and triangle boards normally supply their own spatial layout. Add a custom layout only when your game needs a different mapping from grid coordinates to Unity space.

3. Does the board need interaction?

Add only the interaction features your game uses:

  • World-space hit surfaces help identify rendered cells or structures.
  • Visual intents show temporary feedback such as hover, selection, or placement previews.
  • A uGUI screen position can be resolved directly through the board renderer. An EventSystem, compatible input module, and appropriate event-routing or raycast components are needed only when Unity pointer callbacks provide that position. They are not required merely to render a retained board on a Canvas.

Cameras and lighting affect Game view presentation, not whether the logical board is valid.

Compare setups

Setup Required Why Optional Ready when
Authored logic only A setup asset assigned to GridBoardAuthoring. Creates and owns the live board from Unity assets. View, renderer, camera, lighting, and input. The authoring Inspector reports a ready state at revision 0.
World 2D A board owner, GridBoardView, GridWorld2DBoardRenderer, and builders for the content you want to see. Displays retained objects on Unity's XY plane. Custom layout, structure visuals, intent feedback, and precise 2D hits. The view reports ready and the expected cells appear in the Scene view.
World 3D (recommended) A board owner, GridBoardView, GridWorld3DBoardRenderer, and builders for the content you want to see. Displays retained objects on Unity's XZ ground plane. Custom layout, structure visuals, intent feedback, precise 3D hits, camera, and lighting. The view reports ready and the expected cells appear in the Scene view.
uGUI (Preview-tier) A board owner, Canvas, GridBoardView, GridCanvasBoardRenderer, compatible layout, and UI builders. Displays retained content on a Canvas. Structure visuals, intent feedback, direct screen-position queries, or an EventSystem-driven input stack. The view reports ready; direct queries or configured Unity pointer callbacks resolve logical hits.
Code-owned board (optional) Project code that creates, retains, and disposes the state. Gives the game direct control of the board lifetime. Every Grid Toolkit scene, visualization, and input component. Project code can query revision 0 and disposes the state with its owner.

Inventory and Cell Metadata are optional gameplay modules. They are not ordinary scene requirements. Editor commands such as Configure Renderer Stack... create and connect components, but are not runtime dependencies.