GridPlacement v5.1 – GDScript to C# Migration

GridPlacement v5.1 → 6.0 C# Migration

This guide is the version-specific companion to the general GDScript to C# Migration for the GridPlacement 5.1 GDScript addon.

It assumes you:

  • Are currently using res://addons/grid_building with the 5.1 GDScript plugin.
  • Want to move to the 6.0 C# service-based architecture for new development.

🔎 Where to Start

  • 5.1 GDScript roadmap: docs/content/gridbuilding/GRIDBUILDING_5_1_GDSCRIPT_ROADMAP.md
    (stabilization, support policy, and long-term 5.1 plan)
  • GDScript 5.1 remaining work: plugins/gameplay/GridPlacement/docs/gdscript/5.1/GDSCRIPT_5_1_REMAINING_WORK.md
  • General migration rationale and metrics: docs/content/gridbuilding/GDSCRIPT_TO_CSHARP_MIGRATION.md

✅ Checklist: From 5.1 GDScript to 6.0 C#

Use this as a practical checklist when moving a project.

  1. Project & Addon Layout

    • Confirm your 5.1 project uses res://addons/grid_building as the canonical addon path.
    • Remove any duplicate copies of the addon (grid_placement, old exports).
    • Ensure 5.1 GdUnit tests are passing (see GDUNIT_TEST_HEALTH_ROADMAP.md).
  2. Core Placement Flows

    • List the core flows you rely on in 5.1:
      • Place building
      • Move / rotate / demolish
      • Validation rules (blocked tiles, bounds, collisions)
    • For each flow, identify the equivalent 6.0 C# services / systems (e.g. PlacementSystem, validation services, targeting services).
  3. Save Data & Config

    • Inventory / save data: identify any 5.1 scripts that serialize state (GridBuilding save helpers, custom save data types).
    • Map them to 6.0 pure C# data models or adapters.
    • Decide whether to:
      • Keep a compatibility layer for old 5.1 saves, or
      • Migrate saves once and document it clearly for players.
  4. Public GDScript APIs vs. C# Services

    • Enumerate the public GDScript entrypoints you use (autoloads, main controllers, key nodes with signals).
    • For each, note the 6.0 service or integration point that replaces it.
    • Avoid introducing new dependencies on 5.1-only APIs during the migration period.
  5. Tests and Validation

    • Keep the 5.1 Tier 1 GdUnit smoke suite green while you bring up 6.0.
    • Add or reuse C# tests around the new 6.0 services to cover the same behaviours.
    • For any behaviour you decide not to carry forward, record that in your project docs so it is an intentional change.
  6. Cut-over Strategy

    • Choose a cut-over point:
      • Run 5.1 GDScript and 6.0 C# side-by-side for a while, or
      • Move a whole scene or mode to C# in one go.
    • Update your project README to clearly state whether addons/grid_building is still active or has been fully replaced by C#.

  • This page is linked from:

    • docs/content/gridbuilding/GDSCRIPT_TO_CSHARP_MIGRATION.md
      (see the Version-Specific Guide section).
    • docs/content/gridbuilding/GRIDBUILDING_5_1_GDSCRIPT_ROADMAP.md
      (Critical task: Versioned 5.1 Migration Docs).
  • When updating this document:

    • Keep the checklist short and concrete.
    • Reflect any major changes back into the 5.1 roadmap and health docs.