For Developers
Extend and integrate Evo Localization with your own assets
Integrating with Evo Localization
If you are an asset developer and would like to integrate Evo Localization with your own asset, you're very welcome to do so.
If you have questions, need guidance, or would like your integration to be officially supported or featured, feel free to reach out at support@michsky.com.
Scripting Define
You can detect whether Evo Localization is installed by using a scripting define symbol:
#if EVO_LOCALIZATION
void Start()
{
Debug.Log("Evo Localization is installed!");
}
#endifRuntime Integrations
LocalizationManager.Subscribe(owner, enabled, ref source, refresh, refreshImmediately: true) can subscribe an active component to refresh notifications and resolve an unassigned Localized Object from that component's GameObject. Pair it with LocalizationManager.Unsubscribe(refresh) in OnDisable, using the same method callback.
OnLanguageSet also fires when Google Sheets data changes or is cleared. Refresh your displayed content even if the callback contains the same language asset as before. Use the manager's content methods or LocalizedObject.GetString to include runtime sheet data; reading language assets directly only returns bundled content.
The optional UniText integration uses the assembly-scoped EVO_UNITEXT version define for media.lightside.unitext. If your own assembly conditionally uses UniText, configure its own package version define and required assembly references.
Heads Up
- Please ensure your integration does not redistribute Evo Localization source files
- If you need additional hooks or native functionality, feel free to reach out