diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp index d000c4a1de..8b4fc91236 100644 --- a/editor/script_create_dialog.cpp +++ b/editor/script_create_dialog.cpp @@ -204,6 +204,11 @@ void ScriptCreateDialog::config(const String &p_base_name, const String &p_base_ load_enabled = p_load_enabled; _language_changed(language_menu->get_selected()); + + if (_can_be_built_in()) { + built_in->set_pressed(EditorSettings::get_singleton()->get_project_metadata("script_setup", "create_built_in_script", false)); + _built_in_pressed(); + } } void ScriptCreateDialog::set_inheritance_base_type(const String &p_base) { @@ -344,6 +349,10 @@ void ScriptCreateDialog::_template_changed(int p_template) { void ScriptCreateDialog::ok_pressed() { if (is_new_script_created) { _create_new(); + if (_can_be_built_in()) { + // Only save state of built-in checkbox if it's enabled. + EditorSettings::get_singleton()->set_project_metadata("script_setup", "create_built_in_script", built_in->is_pressed()); + } } else { _load_exist(); } diff --git a/editor/shader_create_dialog.cpp b/editor/shader_create_dialog.cpp index f3d59b8579..0b2ed2bcfc 100644 --- a/editor/shader_create_dialog.cpp +++ b/editor/shader_create_dialog.cpp @@ -130,6 +130,10 @@ void ShaderCreateDialog::_template_changed(int p_template) { void ShaderCreateDialog::ok_pressed() { if (is_new_shader_created) { _create_new(); + if (built_in_enabled) { + // Only save state of built-in checkbox if it's enabled. + EditorSettings::get_singleton()->set_project_metadata("shader_setup", "create_built_in_shader", internal->is_pressed()); + } } else { _load_exist(); } @@ -409,6 +413,10 @@ void ShaderCreateDialog::config(const String &p_base_path, bool p_built_in_enabl built_in_enabled = p_built_in_enabled; load_enabled = p_load_enabled; + if (built_in_enabled) { + internal->set_pressed(EditorSettings::get_singleton()->get_project_metadata("shader_setup", "create_built_in_shader", false)); + } + if (p_preferred_type > -1) { type_menu->select(p_preferred_type); _type_changed(p_preferred_type);