Merge pull request #100673 from RandomShaper/res_duplicate

Overhaul resource duplication
This commit is contained in:
Thaddeus Crews
2025-05-27 09:39:25 -05:00
19 changed files with 951 additions and 140 deletions

View File

@ -3155,7 +3155,11 @@ void Node::_duplicate_properties(const Node *p_root, const Node *p_original, Nod
continue;
}
Variant value = p_original->get(name).duplicate(true);
Variant value = p_original->get(name);
// To keep classic behavior, because, in contrast, nowadays a resource would be duplicated.
if (value.get_type() != Variant::OBJECT) {
value = value.duplicate(true);
}
if (E.usage & PROPERTY_USAGE_ALWAYS_DUPLICATE) {
Resource *res = Object::cast_to<Resource>(value);