Skip to content

Config

One asset: RevLearningRuntimeConfig, a ScriptableObject holding the settings the runtime needs at play time.

It exists because project settings live in editor-only code, and a player build cannot read them. RevLearningRuntimeSync in Editor/Settings writes the editor-side values into a config asset under Resources/, which the runtime loads by name:

var config = Resources.Load<RevLearningRuntimeConfig>("RevLearning_RuntimeConfig");

Resources/ rather than addressables or a build-time injection, because the asset is a few dozen bytes and must be readable before anything else has initialized — including anything that would need its own loading step.

Loading it can return null. A project that never opened the settings window has no asset, and that is a legitimate state rather than a misconfiguration, so callers pick their own default:

var version = config ? config.defaultVersion : LmsVersion.Scorm2004;