A Godot minor upgrade can look safe until the one scene you care about starts behaving differently. Godot 4.7 is a strong release, but it still deserves a proper migration pass. Use this checklist when moving an existing 4.x project to 4.7, especially if you ship on Android, use XR, animate complex UI, rely on plugins, or have a visually tuned 3D scene.
1. Read the Official Migration Notes
Start with the Godot 4.7 migration guide and the Godot 4.7 release notes. Do this before opening the project, not after the editor has already written new data.
- Write down any breaking changes that mention APIs, nodes, plugins, export settings, or platforms you use.
- Install Godot 4.7 side-by-side with your current version.
- Open a branch or copy, then let the editor import and upgrade that copy only.
- Commit or stash your pre-upgrade state so generated diffs are easy to review.
2. Check UI and Control Animation
Godot 4.7 adds Control offset transforms, which are good news for animated UI. Still, you should test menus that already use containers, tweens, hover feedback, popup panels, scroll views, or custom input routing.
- Open every main menu, pause menu, settings screen, and HUD state.
- Check hover/focus behavior while buttons animate.
- Retest popup menus, long option lists, and keyboard/controller navigation.
- Look for layout snapping if old code manually moved Control nodes inside Containers.
3. Retest Rendering and Materials
Godot 4.7 includes HDR output support, clearcoat fixes, AreaLight3D, nearest-neighbor viewport scaling, render-pass performance work, and particle scale/rotation controls. That is enough to justify a visual pass even if your project opens cleanly.
- Take screenshots in your current version before upgrading.
- Compare hero scenes, night scenes, shiny materials, UI overlays, particles, and post-processing.
- Check SDR and HDR output paths if you support HDR displays.
- If you use retro 3D scaling, compare bilinear and nearest-neighbor viewport output.
- Retune clearcoat materials if car paint, polished props, or reflective materials changed.
4. Verify Android and Mobile Input
Android received a lot of attention in 4.7: GABE integration, editor usability, picture-in-picture, embedded game window resizing, splash screen export options, Perfetto tracing, and Java interface work from GDScript. Mobile input also gets a built-in VirtualJoystick node. If Android is your main angle, read the focused guide on creating Godot games entirely on Android.
- Build a fresh Android export and install it on a real device.
- Check orientation, splash screen, launch time, pause/resume, and picture-in-picture behavior if relevant.
- Test virtual joystick setup against your existing touch controls.
- Check gamepad behavior while the app is focused and unfocused.
- Run a quick performance trace if your project is CPU or GPU sensitive.
5. Review XR Projects Separately
XR projects should not be treated like normal desktop upgrades. Godot 4.7 adds Android XR and Steam Frame support, improves composition layers, simplifies action maps, and changes the recommendation for new XR projects toward the Mobile renderer.
- Back up existing action maps before accepting defaults.
- Retest controller bindings, hand interaction, HUD composition layers, and world-locked UI.
- Compare Mobile, Forward+, and Compatibility renderer behavior for your target headset.
- Profile foveated rendering if your project depends on XR performance margins.
6. Audit Plugins, Asset Store Items, and GDExtensions
The new Asset Store experience makes discovery better, but project safety still depends on plugin compatibility. GDExtensions are now shown in Project Settings, so use that as part of your audit.
- Disable nonessential plugins before the first upgrade test if they have not been updated.
- Re-enable plugins one at a time and watch the output panel.
- Open Project Settings and confirm expected GDExtensions are listed.
- Run any editor tools that modify scenes, imports, resources, or export presets.
- Keep plugin version changes separate from the engine upgrade commit.
7. Run Real Gameplay, Not Just the Main Menu
The editor opening is not proof. Run your real gameplay loop. Trigger save/load, scene changes, animation transitions, physics interactions, UI prompts, input remapping, export-specific code paths, and anything a player can do in the first ten minutes.
- Play one normal loop from title screen to gameplay to pause to quit.
- Load an existing save, then create a new save.
- Run scenes with custom shaders, particles, tweens, and plugin code.
- Export at least one target build before declaring the upgrade usable.
- Review version-control diffs before merging the upgrade branch.
The Decision
If your project is early, upgrade sooner and benefit from 4.7's workflow improvements. If your project is near release, upgrade only when one of the new features solves a real problem or the migration pass is clean. Either way, make the decision from proof, not from changelog energy.
