Quick answer: Unity ScriptableObject singleton accessed via Resources.Load returning null in builds? Resources folder must be present and not excluded - check Always-Included Assets list.
Settings ScriptableObject works in editor. Built standalone returns null for the same Load call.
Place under Resources
Asset must live at Assets/Resources/MySettings.asset. Path inside Resources is what Resources.Load("MySettings") queries.
Or use Addressables
For shipping projects, Addressables tracks the dependency. Resources is convenient for prototypes; Addressables for production.
Inject via reference
For boot-time singletons, hold a hard reference from a scene object. The build always includes referenced assets.
“Resources is a runtime path lookup. Lookups can fail; references can't.”
Migrate to Addressables when the project grows. Resources scales poorly past a few singletons.