Adapting a Game for New Markets: Localization in Unity and Unreal Engine

Game localization is the translation and adaptation of video games for different languages, cultures, and regions. Game developers must localize their games to bring them to the international market.

When converting a game into another language, there are a variety of factors to consider, including the engine in which the game was created. The two most popular game engines are Unity and Unreal Engine, each of which offers a different approach to localization.

In this article, we will examine how localization works in Unity and Unreal Engine and how these engines support the translation and adaptation of game content into different languages.

Game Localization in Unity

Unity is one of the most popular game engines. Developers use it to create games and apps for different platforms: PC, consoles, smartphones, etc. 

How to Localize Games in Unity

1. Adding Text to the Game

Unity offers two ways to add text:

Simple Method

If your game contains a small amount of content that won’t receive updates, you can use Unity’s basic tool to add text to the UI. 

For example, when a button is created in Unity, the button text is generated automatically. You simply add the necessary text (for example, “Next”), and it will be displayed on the button.

Image source: allcorrectgames.com

Using Dictionaries

If your game contains a large number of text strings, or if the text changes dynamically depending the situation (for example, when translating into several different languages), we recommend using text-based dictionary files. Unity supports a variety of formats: TXT, CSV, XLIFF, JSON, PO, and more.

2. Configuring the Localization Manager

To manage localization dynamically, you’ll have to write code. This code will be responsible for:

  • setting the current language
  • loading the right dictionary
  • displaying the translated text

3. Using Tools for Localization

There are two tools:

Built-In Unity Localization

This tool automates a number of processes: setting up locales, playing sounds, displaying strings and images on the screen for each locale, and so on. 

The tool also supports “pseudolocalization,” which automatically replaces text with a simulated translation. This feature provides a preview of what the interface will look like in different languages. 

Unity Localization also allows you to export data to Google Sheets.

Third-Party Plug-Ins (E.g., I2 Localization)

Before the release of the official Unity Localization tool, developers used third-party plug-ins. The most popular is I2 Localization by Inter Illusion. 

Similar to Unity’s own tool, this plug-in supports the following features: Google Translate; automatic searching for missing, repeated, or unused translations; plurals; right-to-left (RTL) languages; font management; and more. 

I2 Localization costs $45.

4. Text Formatting

In addition to translation, another aspect of adapting game text is its visual design. The following plug-ins can be used to format text:

UI Text

This is Unity’s built-in tool for working with text. But it has a simplistic feature set and does not support text effects.

TextMesh Pro

This plug-in allows for more complex text formatting. It lets you animate text and add a variety of effects. 

In 2018, Unity acquired TextMesh Pro and made it free for Unity users.

5. Testing

Once all the translations have been added to the game, you must make sure the text is displayed correctly in all interface elements in all supported languages.

It is also important to test the localization on different devices. This is especially true for mobile games. Some languages might require more space on the screen or use special symbols that may display incorrectly on certain devices.

6. Exporting Localized Versions

Unity lets you compile a project for various platforms. You can compile different versions of a project for each localization or a single version that contains all the translations.

If you used external text files or Google Sheets to store translations, make sure that all these resources are accessible and linked to the project correctly.

7. Releasing Updates

  • Supporting Existing Translations

When you add new content to a game, don’t forget that it needs to be translated as well. Translation can be done during the development process so that new versions can be released with finished localizations in all the necessary languages.

  • Updating Localization Resources

Tools like Unity Localization usually make it easy to add new strings or change existing ones, which simplifies the process of updating translations.

  • Testing

Each new update with modified or added content must also be tested again.

Game Localization in Unreal Engine

Unreal Engine (UE) is another popular game engine with advanced features for translating game texts into different languages.

Unreal Engine Features:

  • Core text for translation. In UE, localization is based on a special data type: FText.

Image source: allcorrectgames.com

  • International settings. The International Components for Unicode (ICU) library helps with these. It takes the characteristics of every country and language into account. For example, it considers the proper way to write numbers and dates and which direction the text should be written in.
  • UE uses the term “culture.” “Culture” refers to the set of text formatting rules for a particular region. Cultures determine the rules for handling numbers and special symbols, the format of time and dates, the use of plural forms, and other linguistic features. 
  • Not just text. In UE, it is also possible to translate sounds, images, animations, and videos.
  • Translation control panel. The program has a special section for managing translations: the Localization Dashboard.

Image source: allcorrectgames.com

  • Translation storage. All translations are stored in special files called Localization Targets.

How to Localize Games in Unreal Engine

The step-by-step process looks like this: 

1. Adding Localized Components

UE adds interface text elements that need to be translated: buttons, menus, hints, etc.

2. Identifying Target Cultures

UE specifies a list of languages and regions that need to be adapted to new target audiences.

3. Linking Components

All localizable elements are linked to the UE localization system.

4. Creating Localized Objects

For each text element, an FText object with a special structure is created. The object lets you change a culture dynamically. On creation, each FText object is assigned a unique key that identifies the text element during localization.

5. Exporting Localized Data

A list of FText objects is exported to PO files that are then sent to translators.

6. Translating the Texts 

Working with the PO files, the translators add the translations for the necessary languages.

7. Importing Translated Data

The finished PO files are imported back into the project and integrated into the FText objects.

8. Configuring Text Localization

The necessary fonts are added, and the display and special effects are configured for each culture.

9. Testing the Adapted Version

A test is run to check the display of translated elements in the game.

It is important to make sure that:

  • All interface elements are displayed correctly in the applicable language.
  • There are no issues with encoding or fonts.
  • Line breaks are correct and text wraps properly.
  • The audio corresponds to the subtitles in different languages.
  • Numbers, dates, and currencies are displayed correctly.

10. Releasing the Adapted Version

After successful testing, the game’s final builds for each language and region can be released.

The versions are published in the corresponding app stores and game platforms of the selected regions.

Which to Choose 

Both Unity and Unreal Engine offer powerful game localization tools. 

Unity is easier to learn and has more training materials. Unity is good for:

  • Mobile games
  • Small indie projects
  • Simple 2D and 3D games

Unreal Engine is more powerful graphics-wise but harder to learn. It is better for:

  • Photorealistic games
  • Complex 3D projects
  • PC and console games

Game localization is a complex process that requires not only the translation of text, but also the consideration of cultural specificities. 

Outsource your localization to Inlingo, and we’ll help you adapt your project for any target country.