diff --git a/scene/3d/mesh_instance_3d.cpp b/scene/3d/mesh_instance_3d.cpp index e8166802f8f..c96625ecb8f 100644 --- a/scene/3d/mesh_instance_3d.cpp +++ b/scene/3d/mesh_instance_3d.cpp @@ -50,8 +50,19 @@ bool MeshInstance3D::_set(const StringName &p_name, const Variant &p_value) { return true; } - if (p_name.operator String().begins_with("surface_material_override/")) { - int idx = p_name.operator String().get_slicec('/', 1).to_int(); + String name = p_name; + +#ifndef DISABLE_DEPRECATED + if (name.begins_with("material/")) { + WARN_DEPRECATED_MSG("This mesh uses an old deprecated parameter name. Consider re-saving this scene in order for it to continue working in future versions." + + (is_inside_tree() ? vformat(" Path: \"%s\"", get_path()) : String())); + } + if (name.begins_with("surface_material_override/") || name.begins_with("material/")) +#else + if (name.begins_with("surface_material_override/")) +#endif + { + int idx = name.get_slicec('/', 1).to_int(); if (idx >= surface_override_materials.size() || idx < 0) { return false;