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.

Related reading