Universal tool for Unreal Engine 2/3 games (compatible with most games): - extract textures - create texture packs / game patches to install with TFC installer - swap meshes/materials between packages - import/export fbx meshes - edit packages and save a copy
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou must get permission from me before you are allowed to modify my files to improve it
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou must get permission from me before you are allowed to use any of the assets in this file
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are not allowed to earn Donation Points for your mods if they use my assets
Author notes
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
File credits
Authors: FCH823: Functional requirements, software development Wastelander121: Functional requirements, testing, research
Special thanks: Gildor for UE Viewer source code: https://www.gildor.org/. This allowed me to understand how to read Unreal 3 UPK/TFC files NeverAloneInTheAsylum for the help with the integrity check
I also used a number of .Net libraries, so credits to: Nominom for BCnEncoder.NET : https://github.com/Nominom/BCnEncoder.NET SixLabors for ImageSharp https://github.com/SixLabors/ImageSharp Aloneguid for IronCompress https://github.com/aloneguid/ironcompress Zyborg for zlib.net https://github.com/zyborg/zlib.net
Donation Points system
This mod is opted-in to receive Donation Points
Changelogs
Version 2.3.5.0
Added support for 17 Unreal engine 2 PC games (see wiki)
Added support for Mirror's Edge uncooked packages
Added support for PF_P8 pixel format (gets converted to PF_B8G8R8A8)
Various bugfixes and improvements
Version 2.3.4.0
Added support for Brothers in Arms: Road to Hill 30 (UE2, PC)
Added support for Brothers in Arms: Earned in Blood (UE2, PC)
Added support for Blender 4.1 FBX files
Added support for PF_A8, PF_G16 and PF_DXT1a pixel formats
Added support for Tom Clancy's Rainbow Six: Vegas v241.66
Improved property support for Tom Clancy's Rainbow Six: Vegas 2 v241.71
Various bug fixes
Version 2.3.3.0
Object import/export: New export file format includes child objects
Import table: Simplified input of new object import entries with copy/paste from another package's import table
Object editor: Simplified object reference edit with copy/paste support and dropdown list
Object editor: Improved notifications about unsupported object data
Added support for empty objects
Enabled static mesh parser for v815.0, v828.0, v859.0 and v868.0
Various bug fixes and improvements
Version 2.3.2.0
Improved UX with icons and redesigned object references
Object editor: Added create package at root and create child package functions
Object editor: Added import object at root and import object a as child functions
Object import: improved object reference resolving using full object path
Added support for Them and Us (PC)
Various bug fixes and improvements
Version 2.3.0.0
All object properties can now be edited for 140+ games with class support
All property types can now be edited for 140+ games with class support
Added Class/ScriptStruct/Function/Property/Enum/Constant objects support for Monday Night Combat (PC)
Added Class/State/ScriptStruct/Function/Property/Enum/Constant objects support for Moonbase Alpha (PC)
Added Class/State/ScriptStruct/Function/Property/Enum/Constant objects support for Injustice (PC)
Added Class/State/ScriptStruct/Function/Property/Enum/Constant objects support for Transformers: Fall of Cybertron (PC)
Added Class/State/ScriptStruct/Function/Property/Enum/Constant objects support for Transformers: Rise of the Dark Spark (PC)
Added Class/State/ScriptStruct/Function/Property/Enum/Constant objects support for Deadpool (PC)
Added Support for Bioshock Infinite DLCs.
Various bug fixes and improvements
Version 2.2.12.0
Fixed major bug introduced in 2.2.11.0
Added support for FontCharacter (used in Font's Characters property)
Version 2.2.11.0
Added Class/State/ScriptStruct/Function/Property/Enum/Constant objects support for ~135 PC games
Added MaterialInstanceConstant objects support for ~60 games
Various bugfixes and improvements
Version 2.2.10.0
Added MaterialInstanceConstant support for ~140 games (see wiki)
Added StaticMesh support for more games (WWE All Stars, TNA Impact and others)
Object editor: Simplified name edits with the ability to create them directly where they are used
Redesigned Textures tab in material and MICs, now with texture preview
Package modification stats are now recorded into the package when saved (can be seen in development mode)
Open game: Packages modded with versions >= 2.2.9.10 will now show a warning about creating game patches with already modded packages
Added support for Leisure Suit Larry: Box Office Bust
Various bugfixes and improvements
Version 2.2.9.0
Added SkeletalMesh support for DarkVoid
Added SkeletalMesh support for Remember Me
Added SkeletalMesh support for Life is Strange
Added partial support for Batman: Return to Arkham City (PS4)
Object editor: import/export .swf (SwfMovie and GFxMovieInfo)
Object editor: import/export binary data for array of byte properties
Object editor: quick filters and multiple classname search
Object editor: improved object reference dialog
FBX import: automatic sizing of triangle indices array to remove 65535 limit (for games that support it)
FBX import: improved compatibility for MK static meshes
Other bugfixes and improvements
Version 2.2.8.0
FBX import: added vertex weight normalization / max count options
FBX import: improved compatibility with 3ds max files
Added new editable mesh data (bounds, radius, offset)
Object editor: Strings can be changed from ASCII to Unicode
Added Support for more games (Mighty No. 9, Ride to Hell: Retribution, Viscera Cleanup Detail and others. See wiki)
Added StaticMesh support for Bioshock Infinite
Other bug fixes and improvements
Version 2.2.7.0
FBX import: Improved compatibility with static meshes
FBX export/import: Added support for Bartman Arkham Knight extra vertex weights
Mesh preview: Added per vertex bone weight info
Minor bugfixes and improvements
Version 2.2.6.0
Improved FBX compatibility
Import as copy: new object name is copied from filename and can be edited directly in the import dialogs
Added select mesh dialog when importing FBX with more than one mesh
Object imports table: names can now be type directly in the create/update dialog
Object editor: Added Load game patch notification to package view
Other minor improvements and bugfixes
Version 2.2.5.0
FBX import for Skeletal meshes (experimental)
FBX import: Added update skeletal mesh bone position/orientation option in case of mismatch
FBX import: Added morph geometry data option in case of bone position/rotation mismatch
Added show bones option to mesh preview
Materials can be edited per mesh section for skeletal meshes
Cast shadow property can be edited per mesh section for both static and skeletal meshes (for games that support it)
Various bugfixes and improvements
Version 2.2.4.1
Addressed an issue where changing references of an object would cause UPK Explorer to crash unexpectedly.
Version 2.2.4.0
FBX import for static meshes (experimental)
Mesh section information in mesh preview
Static mesh materials can be updated per mesh section
Added modified package filter in the object editor's package list
Minor improvements and bugfixes
Version 2.2.3.0
Added support for most game's Materials (see Wiki for details)
Object editor: Texture references can now be edited in Material and MaterialInstanceConstant's texture tab
Added custom compression flag for Batman Arkham Knight (PS4)
Added support for Thief's custom SkeletalMesh
Added support for TNA Impact's SkeletalMesh (XBox360/PS3)
Added support for WWE All Stars (XBox360/PS3)
Added support for Planet 51 (XBox360/PS3)
Version 2.2.2.0
FBX Export for static and skeletal meshes lods
Diffuse textures (experimental) and mesh info in mesh preview
UV Map in mesh preview
Rotators yaw, pitch and roll are now edited in degrees
Support for XCom2 War of the Chosen (PC)
Mesh support for Alpha Protocol (PC)
Limited support for Nintendo Switch games (wip)
Limited support for Nintendo WiiU games (wip)
Various bug fixes and improvements
Version 2.2.1.0
Added staticMesh and skeletalMesh support for A Hat in Time
Added skeletalMesh support for Mortal Kombat vs DC Universe for XBOX360
Added support for Blacksite: Area 51
Added support for Injustice 2
Added support for Mortal Kombat 11
Improved properties page performance in object editor
Added enable/disable alpha channel in texture preview
Objects can be deleted in the object editor (with open package only)
Version 2.2.0.0
Added support for PS3
Added support for PS4
Added support for XBox360
Added Stretch to Fit and Anti Aliasing to texture preview
Closing the game now goes back to the select game/DLC menu, no longer requiring users to exit UPK Explorer and reload
Various bug fixes and improvements
Version 2.1.0.0
Added game patch support (like texture packs but for package edits).
Game patches and texture packs are now generated in the MyMod folder. They can be combined in a single mod install.
Optimized UX for lower resolution screens
Various bug fixes and improvements
Version 2.0.5.0
Object editor: Import as copy can be used to import new objects
Object editor: new names can now be added to packages with shader cache
Object editor: a new game profile option has been added to enable a workaround for games that do not support adding new names or importing objects as copy. Contact us if you encounter games such as these so we can enable the option.
More static/skeletal mesh support (XCom Declassified, DmC: Devil May Cry and more...). See the updated compatibility table
Texture injection bugfix that preventing modding Tron Evolution, and probably caused game crashes with some textures in other games
Version 2.0.4.0
More static/skeletal mesh support (All Batman games, Transformers War for Cybertron and skeletal meshes for Bioshock Infinite). See the updated compatibility table
Limited skeletal mesh swap between games (Some batman games are supported)
Object import: It is now possible to select which properties are preserved/ignored/removed
Object import: Missing names can be added with a single click
Object import: unresolved references can be set to null with a single click
Fixed some regressions introduced in previous version and other bugfixes
Other minor improvements
Version 2.0.3.0
Adds mesh tab with preview for games with Static/Skeletal mesh support
Adds import/export for objects in the package editor
Adds import/export for swapping meshes for some games
Version 2.0.2.0
Adds/Improve support for more game (check the compatibility list)
Edit package: Rename objects
Edit package: Add new names to the name table
Edit package: Add new entries to the object import table
Edit package: Objects are now grouped for easier browsing
Other minor bug fixes
Version 2.0.1.0
Support for new (old) games (check the compatibility list)
Ability to inject textures directly into a package without a texture pack
Fixed bug preventing reading the properties list in some packages - affected multiple games
Fixed but with Borderlands 2's "Big Game Hunt" DLCs where some textures could not be resolved
Fixed some issues with Tron
Added support for PF_B8G8R8A8 pixel format
Other minor bug fixes
This tool is compatible with most Unreal Engine 2/3 games (and their DLCs) and will allow you to:
Export textures as DDS files
Create texture packs from your modified textures. The texture packs are installed with another tool called TFC installer. Mod users will need this tool to install your texture pack. The original package compression will be preserved.
Create HD texture packs (upscaled textures are supported)
Advanced mode: Inject textures directly into a new package (useful for creating custom DLC skins in certain games)
Advanced mode: Import/export objects (can be used to swap meshes, materials etc... but not everything will work!)
Advanced mode: Package Editor: Rename objects, modify object properties / name table / imports table and save a copy of the package. The original package compression will be preserved.
Advanced mode: export/import fbx meshes
Installation
You'll need to unzip the mod file. If you're updating a previous version, do not copy the new files over the old installation. Empty the old version's folder first. Make sure you made a copy of any custom game profiles first. Check the instructions in the exe's "Documents" folder
If you wish, you can join Wastelander121's Discord server - The Mod Creators Guild. Here you can ask for help with creating your mods, talk to other mod users/creators and advertise your mod uploads/updates. https://discord.gg/9KPvQ4H