Unity Core MonoBehaviour Lifecycle Order across objects: / for ALL objects, then for ALL, then per-frame loops. Tweak per-script via Edit Project Settings Script Execution Order — sparingly. ScriptableObject — data assets Use them for: tuning data, configurable enemy stats, level definitions, event channels. Avoid them as runtime mutable singletons across scenes — values persist in editor between play sessions. Reference injection (no Find) Never: , in Update. Acceptable: once in Awake/Start when injection isn't possible (rare). Coroutines vs async | Use case | Pick | |----------|------| | Wa…