vl4dt/godot-skills

godot-47-migration

Godot 4.7 migration guide: new features (HDR, Steam Frame, AreaLight3D, VirtualJoystick, tweenawait, Perfetto tracing), breaking changes, and step-by-step migration patterns for existing Godot 4.x projects.

ソースを見る
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

Godot 4.7 Migration Guide

Complete guide for migrating Godot 4.x projects to version 4.7.

What's New in Godot 4.7

Rendering & Visual

  • HDR output settings — Configure HDR display support in project settings
  • New AreaLight3D — Enhanced area lighting with new modes and intensity profiles
  • Nearest-neighbor viewport scaling — Pixel-perfect rendering for retro-style games

UI & Controls

  • VirtualJoystick — Built-in virtual joystick node replaces third-party solutions
  • PopupMenu search — Native search in popup menus
  • Control offset transforms — New transform system for UI animation

Animation

  • Collapsible animation tracks — Better organization in AnimationTrackEdit
  • tween_await() — Await tween completion for sequential chains

Mobile & Android

  • Perfetto tracing — Built-in Android performance profiling
  • Android XR settings — New project settings for extended reality

Steam Integration

  • Steam Frame configuration — Enhanced Steam overlay and frame support

Step-by-Step Migration

Step 1: Backup Your Project

bash
cp -r MyGame MyGame_backup_4.6

Step 2: Open in Godot 4.7 Editor

  1. Launch Godot 4.7
  2. Open your existing project
  3. Editor will auto-migrate project.godot settings
  4. Review migration warnings in the output panel

Step 3: Update project.godot Settings

ini
# Add HDR support if needed
[rendering]
environment/default_environment="default_world.tres"

# Add Steam Frame config if using Steam
[steam]
app_id="YOUR_APP_ID"

Step 4: Review AreaLight3D Changes

  • Check all AreaLight3D nodes for new property options
  • Update intensity profiles if using custom values

Step 5: Replace Custom VirtualJoysticks

If using third-party virtual joystick implementations:

  1. Remove custom VirtualJoystick scripts
  2. Add the built-in VirtualJoystick node to your scene
  3. Update input handling code (axis names may differ)

Step 6: Update Tween Patterns

Replace nested callbacks with tween_await():

gdscript
# Before (4.6)
func play_sequence():
    var tween = create_tween()
    tween.tween_property($Sprite, "position:x", 100, 1.0)
    tween.finished.connect(func():
        var tween2 = create_tween()
        tween2.tween_property($Sprite, "position:y", 50, 0.5)
    )

# After (4.7)
func play_sequence():
    await create_tween().tween_property($Sprite, "position:x", 100, 1.0).finished
    await create_tween().tween_property($Sprite, "position:y", 50, 0.5).finished

Step 7: Test All Platforms

  • Windows desktop build
  • Linux/X11 build
  • Android build (verify Perfetto tracing works)
  • HTML5 build
  • Steam build (if applicable)

Breaking Changes Checklist

  • [ ] Review VirtualJoystick API changes if using custom implementations
  • [ ] Update tween callback patterns to use await syntax
  • [ ] Test HDR rendering pipeline impact on visual quality
  • [ ] Verify Android XR settings if targeting XR devices
  • [ ] Check Steam Frame configuration compatibility

Godot 4.7 Feature Quick Reference

FeatureCategorySkill Coverage
HDR outputRenderinggodot-project-setup
AreaLight3DRenderinggodot-code-review
VirtualJoystickMobilegodot-brainstorming
tween_await()Animationgodot-gdscript-patterns
Perfetto tracingProfilinggodot-debugging
Steam FrameNetworkinggodot-project-setup

MCP Bridge Tools (Optional — Live Editor Integration)

When the MCP bridge is running (Phase 2), these tools support migration:

  • `script_validate` — Run with suggestTweenAwait: true to detect nested tween callbacks and suggest await migration
  • `project_settings_read` — Check current HDR/Steam settings before migration
  • `project_settings_set` — Apply 4.7 settings (e.g., rendering/hdr, steam/frame/*) directly
  • `file_search` — Search for deprecated API patterns across the project
  • `class_db_info` — Verify new 4.7 classes like AreaLight3D and VirtualJoystick are available
Note: MCP tools require the Godot editor to be running with the MCP plugin enabled. Skills work independently without the bridge.

References

同じリポジトリから

関連する Skills

すべての Skills