Changing prefab doesn't update instances (in scene aswell as in other prefabs)..

After making a change to a prefab, how do I update all instances of that prefab with that change? It doesn’t do it automatically or prompt me with anything. I know I can reset each instance individually, but that’s tedious and repetitive if there’s a lot of instances.

I know this questions been asked many times before, but I still haven’t found an answer. How do I reset or at least update changes of all instances of a prefab at once? By instances I mean instances in scenes as well as references from other prefabs (prefabs childed to other prefabs).

As far as I can tell, once you set a prefab as the child of another prefab it stops being an instance of the original completely. Updating will only cause the parent prefab to change.
I found this link http://framebunker.com/blog/poor-mans-nested-prefabs/ in this thread Workarounds for Nested Prefabs - Unity Answers and they pretty much say the same. The first link has a working solution, using the IBakeable interface (which I didn’t know existed until now).

Catching it early is definitely key, but once you have caught it, there’s a much simpler solution. Rather than adding prefabs as children to other objects, add null objects with a spawner script attached. The script can be as simple as the below (or as complicated as you want):

public class Spawner : MonoBehaviour
{
    public GameObject assignObjectInInspector;

    void Start()
    {
        GameObject myObject = Instantiate(assignObjectInInspector, transform.position, transform.rotation);
        myObject.transform.parent = gameObject.transform;
    }
}

You can also put this script directly onto the parent and assign an array of spawners, whatever works best for you.

Select your prefab then open prefab assets
Drag the prefab you want to update to its prefab inside your project folder.