Godot 4.4 UID機能チュートリアル
Godot Engine バージョン4.4
Godot 4.4では、リソースの一意識別子であるUID(Unique Identifier)が導入されました。これにより、スクリプトやシェーダーなどのリソースを移動・リネームしても、参照が保持されるようになりました。UIDは
uid://
スキームを使用してリソースを参照します。
UIDファイルの生成
Godot 4.4では、スクリプト(
.gd
)やシェーダー(.shader
)を保存すると、自動的に対応する.uid
ファイルが生成されます。例えば、example.gd
を保存すると、example.gd.uid
が同じディレクトリに作成されます。この.uid
ファイルには、リソースのUIDが保存されます。
UIDを使用したリソースの参照
UIDを使用してリソースを参照することで、ファイルの移動やリネームによる参照の破損を防ぐことができます。以下は、UIDを使用してスクリプトを参照する例です。
extends Node
# ファイルパスを使用した参照var script_by_path = preload("res://scripts/example.gd")
# UIDを使用した参照var script_by_uid = preload("uid://fkjlqx8er2sg")
func _ready(): script_by_path.greet() script_by_uid.greet()
UIDは、エディターの「ファイルシステム」ドックでリソースを右クリックし、「UIDをコピー」を選択することで取得できます。
UIDの管理とバージョン管理システム
UIDを使用する際は、以下の点に注意してください。
.uid
ファイルをバージョン管理システム(例:Git)に含めるようにしてください。.gitignore
に*.uid
を追加しないように注意しましょう。リソースをエディター外で移動または削除する場合は、対応する
.uid
ファイルも一緒に移動または削除してください。 プロジェクトをGodot 4.4にアップグレードした後は、すべてのシーンとリソースを再保存して、UID情報を更新することをおすすめします。
ResourceUIDクラスの活用
Godot 4.4では、
ResourceUID
シングルトンが導入され、UIDの管理が可能になりました。以下は、ResourceUID
を使用してUIDとリソースパスを取得する例です。var uid_text = "uid://fkjlqx8er2sg"var uid_int = ResourceUID.text_to_id(uid_text)var path = ResourceUID.get_id_path(uid_int)print("UIDに対応するパス: ", path)
ResourceUID
を使用することで、UIDとリソースパスの相互変換やUIDの生成・削除などが可能になります。
まとめ
- Godot 4.4では、UIDを使用することで、リソースの移動やリネームによる参照の破損を防ぐことができます。
.uid
ファイルは自動的に生成され、バージョン管理システムに含める必要があります。
ResourceUID
クラスを使用することで、UIDの管理が容易になります。
UID機能を活用することで、プロジェクトのリファクタリングやリソース管理がより柔軟になります。
1
100%