# Godot 4.6 Migration This project targets Godot 4.6 as the active editor baseline. ## Current Risk Profile - The project is a simple Godot 4 `Node2D` application with data-driven JSON content. - There are no addons, imported art assets, shaders, TileMaps, 3D physics scenes, or export presets yet. - The current renderer is explicitly set to `gl_compatibility`, so new-project rendering defaults in Godot 4.6 should not silently change the existing project renderer. - `project.godot` advertises `config/features=PackedStringArray("4.6")`. - Godot 4.6 script UID sidecar files (`*.gd.uid`) are part of the migrated project metadata and should stay versioned. ## Before Opening In 4.6 From An Older Checkout 1. Create a backup or initialize version control before the editor writes migration changes. 2. Run the data/readiness check: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File tools\check_godot46_readiness.ps1 ``` 3. If the Godot executable is not on `PATH`, set `GODOT_BIN` for command-line checks: ```powershell $env:GODOT_BIN = "C:\Path\To\Godot_v4.6-stable_win64.exe" ``` ## Editor Migration Steps From An Older Checkout 1. Open the project folder in Godot 4.6. 2. Let the editor import the project and accept any project-file migration prompt. 3. Run `Project > Tools > Upgrade Project Files...`. 4. Save, close, and reopen the project once. 5. Run the readiness check again. If `GODOT_BIN` is set, include the optional headless editor import: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File tools\check_godot46_readiness.ps1 -RunGodotImport ``` ## Manual Smoke Test - Main scene starts without script errors. - Current campaign save loads or a new campaign starts cleanly. - Briefing opens and can enter battle. - Shop, Armory, Roster, and Formation open and close. - A player unit can move, attack, wait, use a tactic, use an item, and equip compatible gear. - Enemy turn advances and AI acts. - Victory and defeat panels still appear. - Post-battle dialogue and post-battle choices still block progression until a choice is saved. - Next battle loads with saved roster, inventory, joined officers, and campaign flags. - New Campaign clears the save and returns to the opening scenario. ## Watch Items - If the editor updates `config/features`, review the diff before making content changes. - If UI colors or canvas rendering look different, compare the battle board, overlays, and panels before changing art direction. - If a save file behaves oddly after migration, test both a fresh campaign and an existing `user://campaign_save.json`.