Logo

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!");
}

#endif

Runtime 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

On this page