Why does changing an instance affect the prefab?

I’m currently trying to go through the 2D Roguelike tutorial, but I keep getting a weird glitch where whenever I change the instance of a sprite, it modifies the prefab. For instance, I saved OuterWall1 as a prefab, changed the instance name to OuterWall2 and changed the sprite. I then checked the OuterWall1 prefab and saw that the original sprite had changed to the new sprite. Even more confusingly, when I dragged the prefab into the hierarchy, even though it said OuterWall1 in the prefab folder, it showed up in hierarchy as OuterWall2. What’s going on with this? Is this just a strange glitch or have I done something awful?

When you dragged OuterWall1 into the Project window, you may have forgotten to reselect the OuterWall1 instance in the scene hierarchy. This means that when you changed the name to OuterWall2, it affected the prefab, not the specific instance in the scene. Sometimes the Project window does not update when a GameObject’s name is changed, so that would be why when you dragged the prefab to create a second instance it was called OuterWall2 instead of OuterWall1.

You should select the prefab in the Project window, to set the base settings that are common across all the instances. Then, select each instance in the Scene Hierarchy and adjust the settings to suit the individual instance.