Starting in Daggerfall Unity 0.10.26, Localization Preview features will be available for testing. This feature set extends core so that community can introduce translated text and other assets into the game via mod system. Internally, Daggerfall Unity will gradually shift from using classic game data and CSV tables for text completely to String Table Collection Assets.
- Daggerfall Unity's Localization Preview features are built on top of Unity's Localization Settings package (currently v0.8.1).
- Unity's Localization Settings are in turn built on their modern Addressable Asset System (currently v1.16.1).
- Translation mods for Daggerfall Unity are delivered as asset bundles (.dfmod) to leverage our own Mod System. This provides translation mods the most amount of power and flexibility to deploy required changes to the game.
- This feature is considered a preview under active development. Some steps might change in future releases. Please do not invest more time than you are willing to lose if something breaks and needs to be redone from scratch.
- The Unity Localization Settings package is itself a preview. While this is now quite mature and probably close to a release product, something might change or break that we have no control over.
- Not all text can be modded by String Table Collections at this time. We will start with TEXT.RSC and previously hardcoded strings, and gradually expand this until all text in the game is standardised and modable.
- The Daggerfall Unity Launcher will not support translations for the foreseeable future, as mods are not activated until Play is started.
- Translations require end user to run with SDF fonts enabled. Classic FNT files are too limited and will not be supported for translations. Daggerfall Unity's built-in SDF fonts have a full complement of Latin characters and custom SDF fonts will be supported for other character sets (e.g. Cryllic, Kanji).
- Only left-to-right font rendering will be supported.
- Textures and audio assets can be replaced by mod system, however these replacements are not locale-aware and do not support switching locales. This generally limits translation mods to supporting a single language per mod, despite the Localization system supporting switchable locales for text.