From bf9f61819e33777741dff080dab698ae6d64bdbf Mon Sep 17 00:00:00 2001 From: Ayush Raj <74952106+Ayush41@users.noreply.github.com> Date: Wed, 2 Jul 2025 18:36:53 +0000 Subject: [PATCH] Added breaking change note for @export_file behavior in 4.4 --- tutorials/migrating/upgrading_to_godot_4.4.rst | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tutorials/migrating/upgrading_to_godot_4.4.rst b/tutorials/migrating/upgrading_to_godot_4.4.rst index 1e3f45548..438b60450 100644 --- a/tutorials/migrating/upgrading_to_godot_4.4.rst +++ b/tutorials/migrating/upgrading_to_godot_4.4.rst @@ -52,8 +52,24 @@ Method ``create_from_string`` adds a new ``show_error`` optional parameter **Semaphore** Method ``post`` adds a new ``count`` optional parameter |✔️| |✔️ with compat| |✔️ with compat| `GH-93605`_ **TranslationServer** -Method ``standardize_locale`` adds a new ``add_defaults`` optional parameter |✔️| |✔️ with compat| |✔️ with compat| `GH-98972`_ +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``.