My prefab is applying scale changes when hitting apply

I am having an issue where I “nest” my mesh in an empty gameobject (make it a child of it) and make the empty gameobject a prefab. When duplicating that prefab in my scene I can rotate the “parent” and I can move it just fine. When I hit apply on those changes nothing happens to the other prefabs which is good, it’s exactly how I want it to work so I could have multiple crates with all the same components and such that can be placed everywhere. The problem comes from when I want to scale that object and hit apply, it scales all the prefabs for some reason. It seems that position and rotate are set up to be independent on a prefab but that scale is not? Why is this?

So imagine I had a the crates mentioned above and I wanted 1 large one and 3 smaller ones stack on and around it, but I want them all to behave the same way/have the same components and editable later should I need to add functionality to them as the game changes. I can’t find a way to do that, I would have to make a separate prefab and copy over all the changes for each and every different scale of the same mesh. Which just seems silly and doesn’t make any sense. I “nested” the mesh in an empty gameobject so that I could have one thing (the mesh/child) that took in changes to rotation/scale/positioning all relatively to the other ones and the empty game object that could act as the parent and allow me to change the rotation/scale/positioning…why isn’t this working?

What you need to do is scale the empty parent object, rather than the crate itself. When you apply changes to a prefab, Position, Rotation, and Scale are all saved. Depending on how you’re bringing the crates into your scene however, you’re only going to notice the scale change since that’s the only one that’s visibly different.

If you scale the parent object instead of the base object, then the crate still technically has the same scale.