diff --git a/core/config/project_settings.cpp b/core/config/project_settings.cpp index bbd2c1a12d..4914956c7f 100644 --- a/core/config/project_settings.cpp +++ b/core/config/project_settings.cpp @@ -1221,8 +1221,12 @@ Variant _GLOBAL_DEF(const PropertyInfo &p_info, const Variant &p_default, bool p } void ProjectSettings::_add_property_info_bind(const Dictionary &p_info) { - ERR_FAIL_COND(!p_info.has("name")); - ERR_FAIL_COND(!p_info.has("type")); + ERR_FAIL_COND_MSG(!p_info.has("name"), "Property info is missing \"name\" field."); + ERR_FAIL_COND_MSG(!p_info.has("type"), "Property info is missing \"type\" field."); + + if (p_info.has("usage")) { + WARN_PRINT("\"usage\" is not supported in add_property_info()."); + } PropertyInfo pinfo; pinfo.name = p_info["name"]; diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 9ab9c088ed..7ba46054f1 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -51,6 +51,7 @@ ProjectSettings.AddPropertyInfo(propertyInfo); [/csharp] [/codeblocks] + [b]Note:[/b] Setting [code]"usage"[/code] for the property is not supported. Use [method set_as_basic], [method set_restart_if_changed], and [method set_as_internal] to modify usage flags. diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index bc30857e8c..6592ae8654 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -324,8 +324,12 @@ void EditorSettings::_get_property_list(List *p_list) const { } void EditorSettings::_add_property_info_bind(const Dictionary &p_info) { - ERR_FAIL_COND(!p_info.has("name")); - ERR_FAIL_COND(!p_info.has("type")); + ERR_FAIL_COND_MSG(!p_info.has("name"), "Property info is missing \"name\" field."); + ERR_FAIL_COND_MSG(!p_info.has("type"), "Property info is missing \"type\" field."); + + if (p_info.has("usage")) { + WARN_PRINT("\"usage\" is not supported in add_property_info()."); + } PropertyInfo pinfo; pinfo.name = p_info["name"];