If you define an Awake() function in a parent class and create a new Awake() function in a child class(not override), which of the two runs?
If they’re both private (or you used the ‘new’ keyword), so it’s not overridden. Unity calls the first one it finds when searching up the hierarchy.
So it’ll call Awake on the child class.
Set it “protected virtual” if you want both to call, and make sure to say “base.Awake();” in the child class.