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. Reading and writing the binary asset files is handled by a bundled UnityPy runtime; everything runs in a per-project workspace so the original game stays untouched. On Mono builds, MonoBehaviour fields are read even when the build ships no embedded type trees — RuneTranslate generates them from the game's Managed/*.dll. Out of scope: text compiled into the game's code (Assembly-CSharp.dll), and MonoBehaviour fields on IL2CPP builds. Verify on a real game before redistributing.
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.