If you set it before the copy, both the original and the copy are marked as forked_from
the same, idk.
If you are seeing “previously freed” it means you are deleting a component from memory with free()
while it’s still needed. The VelocityComponent is a scene instance, so you need to duplicate that too. Duplicating a node tree is not the same as duplicating a node. It might be easier if you kept data in Resource instances instead of Scene instances, but that’s a whole refactor. You can always write a recursive node duplicator. That’s not too hard. I am not sure how flexible your system is for that, tho.