Supported engine · Unity
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.
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 →
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.
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.
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.
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.