Addressables
GES core has no Addressables dependency. Installing a supported com.unity.addressables package activates the optional TinyGiants.GES.Addressables assembly.
using TinyGiants.GES.Addressables;
GameEventAddressables.LoadDatabaseAsync(
"events/combat",
lease =>
{
GameEventBase started = lease.GetEvent("internal-event-guid");
// Retain the lease while this module uses the database
},
exception => Debug.LogException(exception));
Concurrent requests for the same key share a single load. Each successful request owns one lease; the database stays registered with GameEventManager until the final lease is disposed, then GES unregisters it and releases the Addressables handle.
Do not retain events after disposing their database lease. Treat duplicate internal event GUIDs across concurrently loaded databases as a content error and resolve them before release.