Grid Placement

JSON Loading (6.0)

JSON Loading Guide (6.0 C# Track)

Scope

This guide is for the GridPlacement 6.0 C# track.

6.0’s architecture expects:

  • Core is engine-agnostic (no Godot Resource loading)
  • IO + asset resolution are handled by the host / engine layer

For headless/back-end JSON loading and safe asset resolution, use:

High-level model:

  • AssetLoader

    • Owns JSON file IO
    • Owns schema/version management (where applicable)
    • Owns safe path resolution and asset loading policies
  • GridPlacement 6.0 Core

    • Owns gameplay behavior (placement validation/indicator decisions/execution)
    • Consumes typed configuration/data produced by the host pipeline

Boundary rules

  • GridPlacement 6.0 should not ship a generic JSON file loader as part of the plugin boundary.
  • If JSON is used, treat it as an integration concern:
    • Parse/validate JSON in the host layer (or AssetLoader)
    • Convert to typed configuration objects
    • Feed Core services with those typed objects

Relationship to 5.1

The 5.1 GDScript track intentionally stays Godot-native and does not provide headless JSON support.

  • 5.1 guide: docs/5.1/gdscript/JSON_LOADING.md