Google Sheets
Sync your localization data with the cloud
Overview
Evo Localization allows you to fetch localization data directly from a published Google Sheet. This is useful for collaborating with translators or team members who don't have access to Unity.
Google Sheets integration is currently in beta. Future updates may introduce workflow changes.
Setup Guide
1. Prepare Google Sheet
Create a new Google Sheet
Set the first row as headers: Key, followed by your language names (e.g., Key, English, French, Japanese)
Click File -> Share -> Publish to web
Ensure the link setting is public so the CSV can be downloaded by the system
Example Spreadsheet:
| Key | English | German | Japanese | ... |
|---|---|---|---|---|
| menu_play | Play | Spielen | プレイ | ... |
| menu_settings | Settings | Einstellungen | 設定 | ... |
2. Configure Unity
Open Localization Settings
Enable Google Sheets Integration
Paste your Spreadsheet ID (the long string of characters in the URL)
docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/
Set the Sheet GID for each Table in the Table list
- The GID is found in the browser URL when you switch tabs in the sheet (e.g.,
gid=0orgid=123456)docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/edit/?[gid=0]
3. Fetch Data
You can fetch data manually or automatically.
- Auto-Fetch On Start: Fetches new data every time the game launches.
- Auto Update: Periodically checks for updates at runtime based on an interval.
To fetch manually via code:
LocalizationManager.GoogleSheets.FetchData();Caching
To prevent excessive network requests, the system caches data. You can control the Cache Duration in the Localization Settings. If a request is made within the duration window, the cached data is returned immediately.
To clear the cache manually:
LocalizationManager.GoogleSheets.ClearCache();Unless Auto Update is enabled, the cache will only be requested once (unless called externally). Cache Duration basically tells the system "use this cache even if requested within X duration".
Limitations
This is a basic integration. It has no encryption and requires a public readable link, so it may not be suitable for projects containing sensitive information.
Encryption via Google Cloud API key is in the to-do list, but be aware that there is currently no encryption implemented.