Make all instances inherit the same value from parent and make static

Basically I’m trying to create a prefab that has a script with certain variables that I give it, the only thing I’m unhappy with is that when I place the prefab into the world it obviously carries the variables down onto the instance. For example if I made an item prefab and I called it ‘Rock’ it would mean that every instance of that prefab would have it’s own variable called ‘Rock’ which is kind of a waste of memory.

What I’m trying to do is along the lines of a static variable but obviously if I did use a static variable that means I’d have to create a new class for each item or a new variable for each item.

You can use a ScriptableObject.
One of the particularities of Scriptable Object is that you only reference them.

So, every “static yet derivable” properties can be part of a Scriptable Object that you reference in your Prefab/ScriptInstance.

Then all you need is to create as many ScriptableObject instances as you need variations.