Limitations and performance guidance
Compatibility boundaries
Grid Toolkit 1.0.0 supports Unity 6 and later. It is not tied to a particular Unity 6 patch. See Compatibility and dependencies for package requirements.
The complete package requires uGUI. Input System and Universal Render Pipeline (URP) are needed only for the shipped Samples, which also require a Universal Renderer for their intended presentation.
Renderer-neutral means board logic is separate from presentation. It does not mean the shipped assemblies run outside Unity.
Product boundaries
- A preview checks the current board; it does not reserve a later action.
- Runtime transactions are separate from Unity Editor Undo.
- Snapshots depend on stable identifiers, resolver behavior, and project-owned payload schemas.
- Preserving an unknown payload does not make that payload executable.
- Views, renderers, GameObjects, transforms, colliders, and raycast results are presentation, not gameplay authority.
- Editor previews are temporary and may be rebuilt.
- Static registrations may be recreated after a domain reload.
- Preview and Experimental APIs may change more than Stable APIs. Check the tier on the API page.
Performance guidance
Grid Toolkit 1.0.0 does not publish a universal board-size, structure-count, action-rate, or frame- time limit. Performance depends on topology, occupancy, policies, renderer modules, visible content, platform, and project code.
Measure a representative game workload:
- Measure board actions separately from rendering.
- Record board size, occupied cells, structures, policies, and extensions.
- Measure preview and apply independently.
- Use renderer statistics and the Unity Profiler to identify refresh or rendering cost.
- Test snapshot creation and restore with production-sized data.
Use batching when several commands form one all-or-nothing gameplay change. Prefer targeted visual refreshes when correctness is clear; refresh more broadly when it is not.
Integration shortcuts to avoid
Do not:
- mutate board-owned collections behind the action runner;
- depend on internal package code;
- keep two package versions in one project;
- hand-edit serialized package assets as a general migration strategy;
- infer cells from transform names when a renderer hit resolver is available;
- treat a snapshot as a version-independent save format.
When a required operation is outside the public API, use a documented extension point or prepare a support request.