MR
Mayur Rathi
@mayurrathi
⭐ 40.7k GitHub stars

Godot 4 Migration

Godot 4 Migration is an learning AI skill with a core value of Specialized guide for migrating Godot 3. It helps developers solve real-world problems in the learning domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

Specialized guide for migrating Godot 3.x projects to Godot 4 (GDScript 2.0), covering syntax changes, Tweens, and exports.

Last verified on: 2026-07-08

Quick Facts

Category learning
Works With Claude
Source sickn33/antigravity-awesome-skills
Stars ⭐ 40.7k
Last Verified 2026-07-08
Risk Level Low
mkdir -p ./skills/godot-4-migration && curl -sfL https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/skills/godot-4-migration/SKILL.md -o ./skills/godot-4-migration/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# Godot 4 Migration Guide


Overview


A critical guide for developers transitioning from Godot 3.x to Godot 4. This skill focuses on the major syntax changes in GDScript 2.0, the new `Tween` system, and `export` annotation updates.


When to Use This Skill


- Use when porting a Godot 3 project to Godot 4.

- Use when encountering syntax errors after upgrading.

- Use when replacing deprecated nodes (like `Tween` node vs `create_tween`).

- Use when updating `export` variables to `@export` annotations.


Key Changes


1. Annotations (`@`)


Godot 4 uses `@` for keywords that modify behavior.

- `export var x` -> `@export var x`

- `onready var y` -> `@onready var y`

- `tool` -> `@tool` (at top of file)


2. Setters and Getters


Properties now define setters/getters inline.


**Godot 3:**

gdscript
var health setget set_health, get_health

func set_health(value):
    health = value

**Godot 4:**

gdscript
var health: int:
    set(value):
        health = value
        emit_signal("health_changed", health)
    get:
        return health

3. Tween System


The `Tween` node is deprecated. Use `create_tween()` in code.


**Godot 3:**

gdscript
$Tween.interpolate_property(...)
$Tween.start()

**Godot 4:**

gdscript
var tween = create_tween()
tween.tween_property($Sprite, "position", Vector2(100, 100), 1.0)
tween.parallel().tween_property($Sprite, "modulate:a", 0.0, 1.0)

4. Signal Connections


String-based connections are discouraged. Use callables.


**Godot 3:**

gdscript
connect("pressed", self, "_on_pressed")

**Godot 4:**

gdscript
pressed.connect(_on_pressed)

Examples


Example 1: Typed Arrays


GDScript 2.0 supports typed arrays for better performance and type safety.


gdscript
# Godot 3
var enemies = []

# Godot 4
var enemies: Array[Node] = []

func _ready():
    for child in get_children():
        if child is Enemy:
            enemies.append(child)

Example 2: Awaiting Signals (Coroutines)


`yield` is replaced by `await`.


**Godot 3:**

gdscript
yield(get_tree().create_timer(1.0), "timeout")

**Godot 4:**

gdscript
await get_tree().create_timer(1.0).timeout

Best Practices


- ✅ **Do:** Use `@export_range`, `@export_file`, etc., for better inspector UI.

- ✅ **Do:** Type all variables (`var x: int`) for performance gains in GDScript 2.0.

- ✅ **Do:** Use `super()` to call parent methods instead of `.function_name()`.

- ❌ **Don't:** Use string names for signals (`emit_signal("name")`) if you can use the signal object (`name.emit()`).


Troubleshooting


**Problem:** "Identifier 'Tween' is not a valid type."

**Solution:** `Tween` is now `SceneTreeTween` or just an object returned by `create_tween()`. You rarely type it explicitly, just use `var tween = create_tween()`.

🎯 Best For

  • UI designers
  • Product designers
  • Claude users
  • Students
  • Lifelong learners

💡 Use Cases

  • Generating component mockups
  • Creating design system tokens
  • Using Godot 4 Migration in daily workflow
  • Automating repetitive learning tasks

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Godot 4 Migration to Your Work

    Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.

  4. 4

    Review and Refine

    Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.

❓ Frequently Asked Questions

Does this work with Figma?

Some design skills integrate with Figma plugins. Check the Works With section for supported tools.

How do I install Godot 4 Migration?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/godot-4-migration/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping usability testing

AI-generated designs should be validated with real users before development.

Not reading the full skill

Skills contain important context and edge cases beyond the quick start.

🔗 Related Skills