Service Locator is the central runtime registry used by the systems packages.

It supports:
string key)Get<T>() and GetAll<T>(key)Register services at startup (usually through registries/providers and sequencer startup flow), then resolve from runtime systems.
ServiceLocator.Register(myService, typeof(IMyService));
IMyService service = ServiceLocator.Get<IMyService>();Keyed registration is used heavily by data catalogs:
ServiceLocator.Register(catalog, typeof(ICatalog), "ItemIcon", append: true);
var catalogs = ServiceLocator.GetAll<ICatalog>("ItemIcon");There is a built-in editor tool to inspect what’s currently registered:
Tools > CupkekGames > Service Locator DebugWhat it’s good for:
ICatalog, IAssetCatalog, IAssetCatalog<T>)Notable features:
(default) vs keyed entries)Settings
Theme
Light
Contrast
Material
Dark
Dim
Material Dark
System
Sidebar(Light & Contrast only)
Font Family
DM Sans
Wix
Inclusive Sans
AR One Sans
Direction