💬 Godot 4 Migration
Godot 4 Migration の移行を支援するSkill。メール・Slack等のやりとりをする人向け。
📺 まず動画で見る(YouTube)
▶ 【最新版】Claude(クロード)完全解説!20以上の便利機能をこの動画1本で全て解説 ↗
※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。
📜 元の英語説明(参考)
Specialized guide for migrating Godot 3.x projects to Godot 4 (GDScript 2.0), covering syntax changes, Tweens, and exports.
🇯🇵 日本人クリエイター向け解説
Godot 4 Migration の移行を支援するSkill。メール・Slack等のやりとりをする人向け。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o godot-4-migration.zip https://jpskill.com/download/2941.zip && unzip -o godot-4-migration.zip && rm godot-4-migration.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/2941.zip -OutFile "$d\godot-4-migration.zip"; Expand-Archive "$d\godot-4-migration.zip" -DestinationPath $d -Force; ri "$d\godot-4-migration.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
godot-4-migration.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
godot-4-migrationフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
💬 こう話しかけるだけ — サンプルプロンプト
- › Godot 4 Migration で、お客様への返信文を作って
- › Godot 4 Migration を使って、社内向けアナウンスを書いて
- › Godot 4 Migration で、メールテンプレートを整備して
これをClaude Code に貼るだけで、このSkillが自動発動します。
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Godot 4 移行ガイド
概要
Godot 3.x から Godot 4 へ移行する開発者向けの重要なガイドです。このスキルは、GDScript 2.0 の主要な構文変更、新しい Tween システム、および export アノテーションの更新に焦点を当てています。
このスキルを使用するタイミング
- Godot 3 プロジェクトを Godot 4 に移植する際に使用します。
- アップグレード後に構文エラーが発生した場合に使用します。
- 非推奨のノード(
Tweenノード vscreate_tweenなど)を置き換える際に使用します。 export変数を@exportアノテーションに更新する際に使用します。
主な変更点
1. アノテーション (@)
Godot 4 では、動作を変更するキーワードに @ を使用します。
export var x->@export var xonready var y->@onready var ytool->@tool(ファイルの先頭に記述)
2. セッターとゲッター
プロパティは、セッター/ゲッターをインラインで定義するようになりました。
Godot 3:
var health setget set_health, get_health
func set_health(value):
health = value
Godot 4:
var health: int:
set(value):
health = value
emit_signal("health_changed", health)
get:
return health
3. Tween システム
Tween ノードは非推奨になりました。コード内で create_tween() を使用してください。
Godot 3:
$Tween.interpolate_property(...)
$Tween.start()
Godot 4:
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. シグナル接続
文字列ベースの接続は推奨されません。呼び出し可能なオブジェクトを使用してください。
Godot 3:
connect("pressed", self, "_on_pressed")
Godot 4:
pressed.connect(_on_pressed)
例
例 1: 型付き配列
GDScript 2.0 は、パフォーマンスと型安全性を向上させるために型付き配列をサポートしています。
# Godot 3
var enemies = []
# Godot 4
var enemies: Array[Node] = []
func _ready():
for child in get_children():
if child is Enemy:
enemies.append(child)
例 2: シグナルの待機 (コルーチン)
yield は await に置き換えられました。
Godot 3:
yield(get_tree().create_timer(1.0), "timeout")
Godot 4:
await get_tree().create_timer(1.0).timeout
ベストプラクティス
- ✅ すべきこと: より良いインスペクター UI のために
@export_range、@export_fileなどを使用してください。 - ✅ すべきこと: GDScript 2.0 でパフォーマンスを向上させるために、すべての変数に型を付けてください (
var x: int)。 - ✅ すべきこと: 親メソッドを呼び出すには
.function_name()の代わりにsuper()を使用してください。 - ❌ すべきでないこと: シグナルオブジェクト (
name.emit()) を使用できる場合は、シグナルに文字列名を使用しないでください (emit_signal("name"))。
トラブルシューティング
問題: "Identifier 'Tween' is not a valid type."
解決策: Tween は現在 SceneTreeTween または create_tween() によって返される単なるオブジェクトです。明示的に型を宣言することはめったになく、var tween = create_tween() を使用するだけです。
制限事項
- このスキルは、タスクが上記の範囲と明確に一致する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全境界、または成功基準が不足している場合は、停止して説明を求めてください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
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
Tweennode vscreate_tween). - Use when updating
exportvariables to@exportannotations.
Key Changes
1. Annotations (@)
Godot 4 uses @ for keywords that modify behavior.
export var x->@export var xonready var y->@onready var ytool->@tool(at top of file)
2. Setters and Getters
Properties now define setters/getters inline.
Godot 3:
var health setget set_health, get_health
func set_health(value):
health = value
Godot 4:
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:
$Tween.interpolate_property(...)
$Tween.start()
Godot 4:
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:
connect("pressed", self, "_on_pressed")
Godot 4:
pressed.connect(_on_pressed)
Examples
Example 1: Typed Arrays
GDScript 2.0 supports typed arrays for better performance and type safety.
# 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:
yield(get_tree().create_timer(1.0), "timeout")
Godot 4:
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().
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.