Start() running before Awake() on Built Standalone exe [Windows 64-bit]

For some reason the built version of my project runs the Start() functions before the Awake() functions.
This link will show you the debug log. Also, it’s attached. They’re the same file.

I know it’s long, but you can clearly see it running the Start() functions at the beginning, and then running the Awake() functions afterwards; after the BoardConnectionMapper.
More annoyingly is that if run in the editor there is no issue, with the Start and Awake functions running in the correct order.

All of these objects are a part of the scene. None are instantiated afterwards, with the exception of the final to items in the log.

This is a Networked Game which might be causing some issues, but I it shouldn’t be reversing the order of the Start and Awake calls.

Not sure if this is some obscure muck up on my part or a really serious bug I’ve managed to run across.
Any advice on what to do would be appreciated.

3744382–311050–output_log.txt (108 KB)

Methods with standard execution order called out of order when using Unet is a known issue, as is the order differing between builds and the editor. It will not be fixed.

https://issuetracker.unity3d.com/issues/awake-of-networkbehaviour-is-not-called-at-launch-in-standalone-build-but-is-in-the-editor

When I used Unet I even encountered Update being called before Awake or Start within a single script seemingly at random. My work around was to either track whether Awake/Start had been called by setting a bool, and manually call them if they hadn’t been called when they should have, or wrap every reference I establish in them everywhere in the script with “if (reference != null)” bs. I must have spent at least a week trying to track down why I was getting random null reference errors all over my project until I finally figured out what was happening.