Localized Text

CryEngine 3 Localization Tutorial


  • We are going to learn how to localize text in CryENGINE 3.
  • We are going to learn how to create a Localization Package for CryENGINE 3.


Part I – Localization

  • Navigate to CryENGINE Game folder (C:\CryENGINE\Game\)
  • Open Localized folder
  • For this example, we’re using the English language. Open “English.PAK” with an archive tool like 7-Zip or WinRAR.
  • Extract contents of “English.PAK” to Game folder (C:\CryENGINE\Game\Languages\)
  • Right click on “text_ui_levels.xml” and hover over “Open with”
  • Select a spreadsheet editor like Microsoft Office Excel or libreOffice Calc.
  • Change the cells in Row 11 and Columns 3 and 4 from “Forest” to “Hello World”.(Note: Column 3 is the English text. Column 4 is the actual localized version which will be used in the game.)

Hello World!

  • Load the Game Launcher, select a Singleplayer Game.
  • The Forest level has been localized to read “Hello World.”

Localized Text

Part II – Packing

  • Close any instances of CryEngine.
  • Package your Languages folder using the Resource Compiler. Name it “English.pak”.
  • Backup the existing “English.pak” by renaming it to “English.pak.bak”.
  • Move in your newly compiled “English.pak” to the Localized folder.


So how does this work? Well, basically in this brief example we begin to understand what Localized tags are. They were the tags with the “@ui_” prefix. Essentially, the Engine is given this tagged string which is then localized with strings in the other cells.

There are descriptions in the spreadsheet files, so I wont try to insult you by explaining what the other two cells are. The main thing to realize is that CryEngine trades the “@ui_” tag for the text given at the right. This can be utilized in many ways through the HUD, Flowgraph, and game scripts. Here, we used it to change the text of an existing level. Next, see if you can’t figure out how localize the text of a new level.

So are there any questions? Comments? Feel free to leave them below. As always, I’ll make sure and get back to you.