That’s interesting… there shouldn’t be a race condition here, as the UnitActionSystem.Awake() should always be running before any Start() methods…
Are you using Play Mode Options in the Project Settings | Editor section? With Singletons, it’s important to make sure that Reload Domain is ticked or the UnitActionSystem could detect that there is an instance when there is not really one there. It’s generally best NOT to use Enter Play Mode Options