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機能を活用することで、プロジェクトのリファクタリングやリソース管理がより柔軟になります。
最終更新日: 2025/05/06 01:54

コメント

    Godot 4.4 UID機能チュートリアル | GODOT TUTORIAL