UELib

April 19, 2026 · View on GitHub

Nuget Platform License

UELib

The Unreal library (UELib) provides you an API to read (parse/deserialize) contents of Unreal Engine game package files, such as .UDK and .UPK files.

The main goal of UELib is to decompile the UnrealScript byte-code, which is achieved by reconstructing the original UnrealScript source from Unreal data classes:

UObject, UField, UConst, UEnum, UProperty, UStruct, UFunction, UState, UClass,
UTextBuffer, UMetaData, UPackage

UELib is also capable of deserializing other Unreal data classes:

UFont, USound, UPalette, UTexture,
UTexture2D, UTexture2DDynamic, UTexture2DComposite, UTexture3D,
UTextureCube, UTextureFlipBook, UTextureMovie
UPrimitive, UPolys,
UComponent

Install

    Install-Package Eliot.UELib
ModuleVersionLicense
NugetGitHub
    using UELib;

    // Instantiates a FileStream and deserializes the package's header, will also auto-detected a suitable build to associate the package with.
    var package = UnrealLoader.LoadPackage(@"C:\Path\Package.upk", System.IO.FileAccess.Read);
    Console.WriteLine($"Version: {package.Summary.Version}");

    // Necessary if working with packages that have been cooked for a console platform, and IF the build was not properly auto-detected.
    // package.CookerPlatform = BuildPlatform.Console;

    // Initializes the registered classes, constructs and deserializes(loads) the package objects.
    package.InitializePackage();

    // Now we can iterate over all the initialized objects, but beware! This includes fake-import objects.
    foreach (var obj in package.Objects)
    {
        // If positive then we have an export, or import if negative, if null, we are working with a 'None' object, but this shouldn't occur here.
        if ((int)obj > 0)
        {
            Console.WriteLine($"Export:");
        }
        else if ((int)obj < 0)
        {
            Console.WriteLine($"Import:");
        }

        Console.WriteLine($"ObjectIndex: {(int)obj}");
        Console.WriteLine($"Name: {obj.Name}");
        Console.WriteLine($"Class: {obj.Class?.Name}");
        Console.WriteLine($"Outer: {obj.Outer}");
        Console.WriteLine($"Path: {obj.GetReferencePath()}");
    }

If you're looking to modify the library for the sole purpose of modding UE Explorer consider forking UE Explorer instead (UELib is linked as a sub-module)

Compatible Games

UELib supports these kinds of content, but may vary from game to game:

  • Script
  • Audio
  • Texture (No .tfc support)
  • Model
  • Animation

Important

Audio and Textures are expected to work for most games, but has not been confirmed.

NameEnginePackageStateScriptAudioTexture
Unreal Engine 1
Unreal100-22661/000
Hired Guns21661/000
Star Trek: The Next Generation: Klingon Honor Guard21961/000
X-COM: Alliance200-22061/000Bad output at the start of functions (BeginFunctionToken)
Dr. Brain: Action Reaction22463-68/000
Nerf Arena Blast22563-68/000
The Wheel of Time225:WoT63-68/000
Unreal Mission Pack: Return to Na Pali226b68/000
Unreal Tournament338-43668-69/000
Deus Ex400-43668/000
Jazz Jackrabbit 3D40068/000
Duke Nukem Forever (2001)61368/002UStruct offsets are off leading to bad output code
Rune40069/000
Unrealty40569/000
Adventure Pinball: Forgotten Island42069/000
X-COM: Enforcer42069/000
Tactical Ops: Assault on Terror43669/000
Star Trek: Deep Space Nine: The Fallen33873/000
Harry Potter and the Sorcerer's Stone43676/000
Harry Potter and the Chamber of Secrets43379/000
Disney's Brother Bear43380/000Link
Mobile Forces43681-83/000, 69
Clive Barker's Undying42072-85/000Versions 72 to 83 are not auto detected.
Deus Ex: Invisible War777:Flesh95/069Thanks in part to @hanfling; LinkedData not supported
Thief: Deadly Shadows777:Flesh95/133Thanks in part to @hanfling; LinkedData not supported
Unreal Engine 2
XIII829100/058
Tom Clancy's Splinter Cell829100/017
Tom Clancy's Splinter Cell: Pandora Tomorrow829102/028:SCXPC offline version
Tom Clancy's Splinter Cell: Chaos Theory829100/120:SCX, 175/000:ShadowStrike(PS3) version and (PC) demo version, , Versus mode not supported
Tom Clancy's Splinter Cell: Double Agent829100/167:SCX, 275/000:ShadowStrike(PC) Offline mode version, Online mode not supported
Tom Clancy's Splinter Cell: Blacklist829102/116:LEADIn part thanks to @shryder. Third-party decompression is required
Tom Clancy's Rainbow Six 3: Raven Shield600-927118/012-014
Magic: The Gathering - Battlegrounds926118/000
Postal 2: Paradise Lost1417118/002
Unreal Tournament 20031077-2225119/025
Devastation600-?118-120/004-008
Dead Man's Hand2110123/002
Unreal II: The Awakening829-2001126/2609
Unreal II: eXpanded MultiPlayer2226126/000Custom features are not decompiled
Desert Thunder2226126/000
Marine Heavy Gunner: Vietnam2226126/000
Land of the Dead: Road to Fiddler's Green2226126/001
Netherworld: Beyond Time I Stand2226127/002Bad property deserialization
Unreal Tournament 20043120-3369128/029
Red Orchestra: Ostfront 41-453323-3369128/029
Killing Floor3369128/029
D.M.Z.: North Korea3369128/029
Close Quarters Conflict3369128/029
Outlaw Chopper3369128/029
Marine Sharpshooter 33369128/029
Marine Sharpshooter 4: Locked and Loaded3369128/029
Mission Biotech3369128/029
America's Army 23339128/032:0332.5, 2.6, 2.8
America's Army (Arcade)3339128/0322.6
Harry Potter and the Prisoner of Azkaban2226129/000Link
Shrek 22226129/000
Shark Tale2226129/003
Lemony Snicket's A Series of Unfortunate Events2226129/003
Combat: Task Force 1212110129/010
Shadow Ops: Red Mercury2110129/010
World War II Combat: Road to Berlin2110129/010
World War II Combat: Iwo Jima2110129/010
Swat 42226:Vengeance129/027
Vanguard: Saga of Heroes2226129/035
Stargate SG1: The Alliance4180130/004
Tribes: Vengeance2226:Vengeance130/027
Bioshock2226:Vengeance130-141/056
Arctic Combat3369134/038-039Thanks to @EDITzDev. Third-party decompression is required
Star Wars: Republic Commando2226134-159/001
The Regiment2226136/000
Men of Valor926137/000PC
Bioshock 22226:Vengeance143/059
Advent Rising2226143-146/007
Unreal Championship 2: Liandri Conflict3323151/002Third-party
Duke Nukem Forever (2011)Originally UE1 and upgraded to UE2&3156/036Extraction is required
Unreal Engine 3
RoboHordesUnknown198-200/000
Tom Clancy's Rainbow Six: VegasUnknown241/066
Tom Clancy's Rainbow Six: Vegas 2Unknown241/071
Tom Clancy's EndWarUnknown329/000
Roboblitz2306369/006
Stranglehold2605375/025
Mass Effect (Xbox 360)2674391/092Xenon
Warmonger: Operation Downtown Destruction2859419/003
Medal of Honor: Airborne2859421/011
Frontlines: Fuel of War2917433/052
Army of Two3004445/079Overall quality has not been verified
Mortal Kombat Komplete Edition2605472/046
Stargate Worlds3004486/007
Gears of War3329490/009
Mass Effect (Windows)3240491/1008(~112)PC
Huxley3240496/016-023Contributed by @EDITzDev
Robert Ludlum's The Bourne Conspiracy511/039
Transformers: War for Cybertron511/144,145PC, PS3, Xenon
Unreal Tournament 33809512/000
Mirrors Edge3716536/043
Alpha Protocol3857539/091
APB: All Points Bulletin3908547/028-032
X-Men Origins: Wolverine4206568/101Overall quality has not been verified
Gears of War 24638575/000
CrimeCraft4701576/005
Batman: Arkham Asylum4701576/21Contributed by @etkramer
Medal of Honor (2010)100075???581/058Bad byte-codes
Saw4869584/003
Singularity4869584/126
MoonBase Alpha4947587/000
The Exiled Realm of Arborea or TERA4206610/014
Monday Night Combat5697638/000
DC Universe Online5859638/6405Contributed by @theFoof
Unreal Development Kit5860-12791664-868
Blacklight: Tango Down6165673/002
Saw II: Flesh & Blood6165673/004Unsupported, but loadable
Dungeons & Dragons: Daggerdale6165674/000
Dungeon Defenders6262678/002
Mass Effect 3 (Windows)6383684/194PC (platform must be set to Console)
Mass Effect: Legendary Edition (Windows)6383684/171PC (platform must be set to Console)
Alice Madness Returns6760690/000
The Ball6699706/000
Game of Thrones6829727/000
Bioshock Infinite6829727/075
Bulletstorm7052742/029
Red Orchestra 2: Heroes of Stalingrad7258765/Unknown
Rising Storm 2: Vietnam7258765/771
Aliens: Colonial Marines7422787/047
Infinity Blade 17595788/001Console
Dishonored9099801/030
Tribes: Ascend7748805/Unknown
Tony Hawk's Pro Skater HD
Rock of Ages7748805/000
Batman: Arkham City7748805/101
Batman: Arkham Origins7748807/138Not verified
Sanctum7876810/000
AntiChamber7977812/000
Waves8171813/000
Super Monday Night Combat8364820/000
Gears of War 38653828/000
Quantum Conundrum8623832/32870
Borderlands4871Unknown
Borderlands 28623/0023832/056
Borderlands: Game of the Year Enhanced5001/0001832/058
Remember Me8623832/021
Gears of War: Ultimate Edition3340835/056Actual package version is 490; thanks to @PaoloTK
Gears of War: Reloaded3340835/076Actual package version is 490; thanks to @PaoloTK
The Haunted: Hells Reach8788841/000
Asura's Wrath8788841/000-zlib; platform needs to be set to console.
Blacklight Retribution8788-10499841-864/002
Infinity Blade 29059842-864/001Console
Q.U.B.E8916845/000
DmC: Devil May Cry8916845/004
XCOM: Enemy Unknown8916845/059
XCOM 2: War of the Chosen8916845/120Contributed by @robojumper
Gears of War: Judgement10566846/000
Transformers: Fall of Cybertron846(~587)/181
Deadpool846(~587)/181
InMomentum8980848/000
Unmechanical9249852/000
Star Wars: First Assault9249852/008Xbox360; platform needs to be set to console
Deadlight9375854/000
Land of the Dead9375854/000
Borderlands Legends9505859/000iOS; platform needs to be set to console
Ravaged9641859/000
The Five Cores9656859/000
Painkiller HD9953860/000
Chivalry: Medieval Warfare10246860/000
Hawken10681860/004
Styx: Master of Shadows10499860/004
Abyss Odyssey10246861/000
Batman: Arkham Knight863/32995Not verified
Rocket League10897867/009 (868/032 has not been tested)Decryption required
Gigantic: Rampage Edition19100867/010Contributed by @HyenaCoding
Infinity Blade 3868/000Console
Guilty Gear Xrd10246868/003Decryption required
Outlast12046868/003
Might & Magic Heroes VII12161868/004(Signature and custom features are not supported)
Bombshell11767870/000
Orcs Must Die! Unchained20430870/000
Sudden Attack 210897870/108-109
Gal*Gun: Double Peace10897871/000
Battleborn8623/1055874/078
A Hat in Time12097877-893/005Contributed by @Un-Drew
Bulletstorm: Full Clip Edition12212877/041
Blue Estate The Game10246893/000
Shadow Complex Remastered10897893/001
Borderlands 2 VR8637/0029895/046
Soldier Front 26712904/009
Rise of the Triad10508Unknown
Sherlock Holmes: Crimes and Punishments10897Unknown
Alien Rage7255Unknown

Beware, opening an unsupported package could crash your system! Make sure you have saved everything before opening any file!

Note UE3 production-ready packages are often compressed and must first be decompressed, Unreal Package Decompressor by Gildor is a tool that can decompress most packages for you; for some games you need a specialized decompressor, see for example RLUPKTool.

How to contribute

  • Open an issue
  • Or make a pull-request by creating a fork of this repository, create a new branch and commit your changes to that particular branch, so that I can easily merge your changes.

Want to add support for a game? See adding support for new Unreal classes

Made with the help of UELib

Special thanks to