Class ConfigModule
Resolves module config ScriptableObjects at runtime by overlaying Firebase Remote Config JSON
onto the serialized asset. The asset supplies the defaults; a matching Remote Config key supplies
partial or full overrides — letting you retune any config (ad unit ids, timeouts, feature flags, …)
from the dashboard without shipping a new build.
Remote Config JSON uses snake_case keys ({"enabled":false,"banner_ad_unit_id":"…"})
mapped onto the PascalCase C# fields via a naming strategy, so the dashboard JSON stays idiomatic.
Always available — no define guard required. When FirebaseModule is disabled, the key is empty,
or Remote Config has no value for it, resolution is a safe no-op that returns the asset's values
unchanged (on a clone).
public static class ConfigModule
- Inheritance
-
ConfigModule
- Inherited Members
Methods
- FromJson<T>(string)
Deserializes standalone JSON that follows the library's Remote Config conventions — snake_case keys mapped onto PascalCase C# members — e.g. the
ad_test_devicesarray intoList<TestDevice>. Unlike Resolve<T>(T, string) this builds a fresh object rather than overlaying an asset. Returnsdefaultand logs an error on malformed JSON.
- Resolve<T>(T, string)
Returns a runtime copy of
baseConfigwith any Remote Config override applied. The original asset is never mutated — a clone is returned — so shared config assets stay pristine even when callers set runtime-only fields (e.g.AppLovinModuleConfig.UserId) on the result.