Values on script populated inside prefab, but not in the inspector

There’s kind of a cascade of serialized values here to beware of, each subsequent one having a chance to overwrite the previous one, if it exists.

  1. the value defined in code

  2. the value overridden in void Reset() (if present)

  3. the value saved in the prefab

  4. the value saved in the prefab override

  5. the value saved in the scene.

When in doubt, wipe these things out and create them afresh.

Here’s more insight into the problem:

Field initializers versus using Reset() function and Unity serialization: