The inspector remembers values of variables that are set to be hidden in the Inspector which I think it should not do. My test script looks like this:
class MyClass : MonoBehaviour
{
[HideInInspector]
public string myText = "111";
void Start()
{
Debug.Log("myText: " + myText);
}
}
Now I attach the script to a gameObject, run the project and get “myText: 111” in the console as expected.
Then I change the “111” in my script to something else i.e. “222”, run the project again and still get “myText: 111” in the console.
Now I reset my Script component in the inspector, run the project once more and get the expected “myText: 222” in the console.
I would say this is a bug since [HideInInspector] should make unity to ignore the variable and not remember its current value. Or is this now intended behaviour?