From aed8f32e72d68b683fc5030f8f27c4c841e4864a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A3=8E=E9=9D=92=E5=B1=B1?= Date: Mon, 3 Nov 2025 16:21:46 +0800 Subject: [PATCH] Don't assign a uid when copying resource file whose `importer` name is `keep` or `skip` --- editor/file_system/editor_file_system.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/editor/file_system/editor_file_system.cpp b/editor/file_system/editor_file_system.cpp index bac46196d60..a8c2c180411 100644 --- a/editor/file_system/editor_file_system.cpp +++ b/editor/file_system/editor_file_system.cpp @@ -3085,13 +3085,19 @@ Error EditorFileSystem::_copy_file(const String &p_from, const String &p_to) { return err; } - // Roll a new uid for this copied .import file to avoid conflict. - ResourceUID::ID res_uid = ResourceUID::get_singleton()->create_id_for_path(p_to); - // Save the new .import file Ref cfg; cfg.instantiate(); cfg->load(p_from + ".import"); + String importer_name = cfg->get_value("remap", "importer"); + + if (importer_name == "keep" || importer_name == "skip") { + err = da->copy(p_from + ".import", p_to + ".import"); + return err; + } + + // Roll a new uid for this copied .import file to avoid conflict. + ResourceUID::ID res_uid = ResourceUID::get_singleton()->create_id_for_path(p_to); cfg->set_value("remap", "uid", ResourceUID::get_singleton()->id_to_text(res_uid)); err = cfg->save(p_to + ".import"); if (err != OK) {