Skip to content

Product reference · Unity

Unity, through a helper you configure

Unity text lives in Localization tables, TextAssets and serialized assets that only a type-aware reader can see. The text surfaces are read directly; the binary ones are handed to a pinned UnityPy helper.

Read directly

  • Unity Localization String Table JSON: tables, locales, keys, and the Smart String flag.
  • Smart Strings with nested selectors and placeholders, kept protected through editing and export.
  • TextAssets routed by content: JSON, CSV, Ink, Yarn, XML and YAML.
  • Ink narrative JSON: ^line dialogue, *choice, speaker prefixes and conversation order.
  • Dialogue System (Pixel Crushers) databases: Dialogue Text, Menu Text and actor/item display names, with speaker and listener resolved from the asset’s own ids.

Needs a tool you configure

  • resources.assets, sharedassets*.assets, .bundle and .unity3d: a pinned UnityPy helper dumps text-bearing objects to JSON — 22,564 dialogue strings from a shipping bundle in a validated run.
  • The helper is inventory-first: textures, meshes, shaders and audio are listed and never deserialized.

Known limits

  • Assets built with a stripped type tree produce no typed data: they appear as inventory with no entries and no guess.
  • A schema with unusual field names is mapped by you in the Context Mapping review, never inferred from field position.

Never touched

  • Unity serialized assets are never rewritten, and asset injection is not offered at all.

Statuses come from the project’s tested compatibility record. Every “read directly” line was validated against real game files or fixtures; partial support is written as partial, and an external tool is named as a tool you configure yourself.

Open a file in the browser editorGame archives are read by the Windows build, where the archive tools run on your machine.Windows app