Scene Inheritence in Godot Game Engine

Why are my inherited scenes all sharing the same sprites?

Posted by Zach on November 29, 2020

So you've just learned how to inherit scenes in Godot and you're ready to start making some base animations and extending them throughout your project. Everything is looking good, but when you run your game you see that both the base scene and inherited scene are using the same sprites for animation.

Turns out, this is by design and not some kind of horrible bug, the frames are a shared resource for the sprite...so every scene that inherits from that base scene, is actually pointing at the same resource behind the...scenes (sorry).

This is a known issue, and there's a flag that you can turn on to force the resources not to be shared. I'm including a screenshot here so it's obvious exactly where this is:

What you want to do is select your animation player on your inherited scene, and then select that option that says 'Make Sub-Resources Unique'.

If I understand correctly this will generate unique resources for the animation player on the extended scene and resolve the issue of the sprites (or whatever) resource being shared.