EnginesGuidesFAQPatreonDiscordDownload
Sign in
RuneTranslate · translate Japanese games end-to-end
EnginesGuidesCompareImage textSave editorCheat ModeFAQDownloadChangelogPatreonDiscordYouTubePrivacyTermsContact
All engines

Supported engine · Unity

Full — rebuilt & played

Unity game translator — translate Unity JP games end-to-end

A large share of modern Japanese indie and doujin games — RPGs, visual novels, and simulation titles — ship on Unity. RuneTranslate translates the text those games externalize: TextAsset payloads (JSON / CSV / TSV / plain-text scenario blobs) and MonoBehaviour string fields packed inside .assets, level files, and AssetBundles (including single-bundle data.unity3d games), plus loose script files under StreamingAssets. A bundled UnityPy runtime reads and writes the binary assets, all in a per-project workspace so the original game stays untouched. MonoBehaviour text is handled on both Mono and IL2CPP builds — on Mono the type trees come from the game's Managed/*.dll, and on IL2CPP RuneTranslate reconstructs them from GameAssembly.dll + global-metadata.dat (best-effort; needs parseable metadata). It also decrypts AES-CTR-encrypted Addressable bundles and injects a non-Latin fallback font for CJK and other scripts. Out of scope: string literals compiled into the game's code (Assembly-CSharp.dll). Verify on a real game before you rely on it.

Glossary tip for this engine

Unity VN/RPG scripts are usually externalized as JSON or CSV tables, so character names and recurring terms appear hundreds of times across many TextAssets. Providers will rephrase them inconsistently batch to batch. Glossary the protagonist, party, recurring NPCs, place names, and any signature skill or system term up front so every TextAsset and StreamingAssets file renders them identically. Glossary 101 →

Download RuneTranslate for Windows

How to translate Unity

  1. STEP 1

    Open the Unity game folder

    Point RuneTranslate at the game directory (the one containing the <Name>_Data folder). Engine detection looks for globalgamemanagers / data.unity3d / resources.assets. The bundled UnityPy runtime is used automatically — no separate Python install needed.

  2. STEP 2

    Extract externalized text

    RuneTranslate scans the serialized files for TextAsset and MonoBehaviour strings in the source language (Japanese by default; set any supported source language per project), plus loose script files under StreamingAssets. Structured payloads (JSON / KAG / HTML) are sliced into individual translatable lines so the file structure round-trips intact.

  3. STEP 3

    Translate via your preferred provider

    DeepL is a strong default for narrative dialogue; OpenAI GPT-4o or Anthropic Claude handle stylized speech and onomatopoeia better. Free Google Translate or a local model (Ollama / LM Studio) covers menu strings and item names. Provider routing can split short strings to a cheap lane.

  4. STEP 4

    Export a translated build

    On export, RuneTranslate copies the game and writes the translated strings back into the asset files and StreamingAssets scripts in place. The translated build runs like the original — no manual asset juggling.

Supports

  • TextAsset payloads (JSON / CSV / TSV / .txt / .ks scenario blobs)
  • MonoBehaviour string fields on Mono AND IL2CPP builds — type trees come from Managed/*.dll (Mono) or are reconstructed from GameAssembly.dll + global-metadata.dat (IL2CPP)
  • Loose StreamingAssets script files (.json / .txt / .csv / .ks / .js / .html / …)
  • .assets, level files, and AssetBundles incl. single-bundle data.unity3d + AES-CTR-encrypted Addressable bundles
  • Per-project workspace under userData/unity-workspace/<projectId>/

Limitations

  • String literals hardcoded in the game's C# code (Assembly-CSharp.dll, or its compiled IL2CPP form) — UI / system text — are not translated; only externalized text is
  • IL2CPP MonoBehaviour support needs a parseable global-metadata.dat; heavily obfuscated metadata may not reconstruct
  • Non-standard AssetBundle encryption beyond the supported AES-CTR Addressable scheme is skipped

Related reading

The full Unity translation walkthrough
Read the guide →

Related reading

XUnity.AutoTranslator isn't translating
Read the guide →
Why translated text shows as boxes
Read the guide →

Related reading

RuneTranslate vs XUnity.AutoTranslator
Read the guide →

Other supported engines

GettextRPG MakerRPG Maker XP/VX/AceRen'PyKirikiriWolf RPGTyranoBuilderElectron VNBakinSRPG StudioNScripterGodotArtemisYU-RISAliceSoftUnrealLiveMaker