: Mafkers Docs

Unreal Engine Support

Guide to translating Unreal Engine 4 and 5 games with Mafkers.

Supported Versions

VersionStatusNotes
UE 4.13❌ Not supportedT3D text import removed
UE 4.18❌ Not supportedIoStore not stable
UE 4.20-4.25⚠️ Best effortLegacy .pak format
UE 4.26✅ SupportedIoStore stable, tool modern support
UE 4.27✅ SupportedFinal UE4 release
UE 5.0✅ SupportedStable
UE 5.1❌ Not supportedUnrealPak broken (reddit reports)
UE 5.2❌ Not supportedUnrealPak broken
UE 5.3✅ SupportedStable, UAssetAPI supports
UE 5.4✅ Supportedlocres mod loading issue resolved
UE 5.5✅ SupportedUAssetGUI needs Mappings.usmap
UE 5.6✅ SupportedLatest, FModel/CUE4Parse support
UE 5.7✅ SupportedLatest

How Mafkers Detects Unreal Engine

Mafkers detects UE by looking for:

  1. .pak files with magic bytes 5A 6F 12 9E (at footer)
  2. .utoc/.ucas files (IoStore, UE 4.25+/5)
  3. .uasset files (some games ship unpacked)
detection/unreal.sh bash
# Check .pak magic bytes
tail -c 4 game.pak | xxd

Where Strings Are Stored

.locres Files (Official Localization)

UE uses .locres binary files for localization. Path:

<Game>/Content/Localization/<Namespace>/<Culture>/<Namespace>.locres

Mafkers uses pylocres (MIT) to read/write .locres files.

DataTable Hardcoded Strings

Many indie UE games do NOT use .locres - they hardcode strings in DataTables (.uasset).

Detection: If .locres doesn’t exist OR string count is too low compared to UI text.

Solution: Mafkers parses .uasset binary directly, extracting FString patterns (length-prefixed UTF-16LE strings).

DataTable Fallback

If .locres modification doesn’t change UI text, the game likely uses DataTables. Mafkers automatically falls back to .uasset binary parsing.

Tools Used

  • repak (Rust, Apache-2.0) - pack/unpack .pak files
  • pylocres (Python, MIT) - read/write .locres files
  • UAssetAPI (C#, MIT) - parse .uasset binary (on-demand install)

Common Issues

“UnrealPak broken” (UE 5.1/5.2)

UE 5.1 and 5.2 have a bug in UnrealPak. Solution: Mafkers uses repak instead, which handles all UE versions without issues.

UE5 Unversioned Properties

UE5 uses “unversioned properties” more aggressively. Some .uasset files need Mappings.usmap for proper parsing.

DataTable Hardcoded Strings

If .locres modification doesn’t change UI text, the game likely uses DataTables. Mafkers automatically falls back to .uasset binary parsing.

Was this page helpful?