diff --git a/core/script_language.cpp b/core/script_language.cpp index 7392e7a0afc..96313898ec4 100644 --- a/core/script_language.cpp +++ b/core/script_language.cpp @@ -276,7 +276,11 @@ void ScriptServer::save_global_classes() { gcarr.push_back(d); } - ProjectSettings::get_singleton()->set("_global_script_classes", gcarr); + if (gcarr.empty()) { + ProjectSettings::get_singleton()->clear("_global_script_classes"); + } else { + ProjectSettings::get_singleton()->set("_global_script_classes", gcarr); + } ProjectSettings::get_singleton()->save(); } diff --git a/editor/editor_data.cpp b/editor/editor_data.cpp index 01cc23aaa29..93486860a77 100644 --- a/editor/editor_data.cpp +++ b/editor/editor_data.cpp @@ -965,7 +965,11 @@ void EditorData::script_class_save_icon_paths() { d[E->get()] = _script_class_icon_paths[E->get()]; } - ProjectSettings::get_singleton()->set("_global_script_class_icons", d); + if (d.empty()) { + ProjectSettings::get_singleton()->clear("_global_script_class_icons"); + } else { + ProjectSettings::get_singleton()->set("_global_script_class_icons", d); + } ProjectSettings::get_singleton()->save(); }