We need more details. This looks to be a complicated setup, possibly you have some other dependencies and lazy initialization, it’s not as simple as this Awake goes before that Awake. What’s with that quest machine configuration wrapper?
Script execution order is more or less a hack that should only be used as a last resort. If you’re using it this heavily, you need to rethink your design.
Remember, self initialisation in Awake, initialisation that requires something else in Start. If you absolutely require things to initialise in a certain order, have an overarching manager that does so in a certain order.
Yes, I am totally agree with you.
But I am using Plugin like QuestMechina, I don’t want to change his code because it might cause some other problem I don’t know.