diff --git a/tutorials/migrating/upgrading_to_godot_4.4.rst b/tutorials/migrating/upgrading_to_godot_4.4.rst index 1e3f455483c..33314f8fc3e 100644 --- a/tutorials/migrating/upgrading_to_godot_4.4.rst +++ b/tutorials/migrating/upgrading_to_godot_4.4.rst @@ -55,6 +55,23 @@ Method ``post`` adds a new ``count`` optional parameter Method ``standardize_locale`` adds a new ``add_defaults`` optional parameter |✔️| |✔️ with compat| |✔️ with compat| `GH-98972`_ ======================================================================================================================== =================== ==================== ==================== ============ +**Export annotations** + +.. warning:: + + The behavior of ``@export_file`` changed in Godot 4.4. When assigning a new value from the Inspector, the path is now stored and returned as a ``uid://`` reference instead of the traditional ``res://`` path. This is a **breaking change** and may cause issues if you're expecting ``res://``-based paths in scripts or serialized files. + + For example, exported arrays of files may now contain a mix of ``uid://`` and ``res://`` paths, especially if they were edited partially in the Inspector. + + In 4.4, the only way to retain the ``res://`` format is to **manually edit** the `.tscn` or `.tres` files in a text editor. Starting in Godot 4.5, a new annotation ``@export_file_path`` can be used to explicitly retain the old behavior and export raw ``res://`` paths. + + Related issues: + + - PR: `Add @export_file_path to export raw paths (no UID) `_ + - Issue: `@export_file behavior change is breaking `_ + - See also: `ProjectSettings stores UIDs for file paths `_ + + .. [#f1] Default buffer size in 4.3 is ``1024``. GUI nodes