Table of Contents

Class ConfigModule

Namespace
Titipi.MocaLib2

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_devices array into List<TestDevice>. Unlike Resolve<T>(T, string) this builds a fresh object rather than overlaying an asset. Returns default and logs an error on malformed JSON.

Resolve<T>(T, string)

Returns a runtime copy of baseConfig with 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.