umodel.exe (964096, 2019-11-19)
SDL2.dll (1156096, 2019-07-25)
UE Viewer
(c) Konstantin Nosov (Gildor), 2007-2019
Please support the development by making a donation here:
https://www.gildor.org/en/donate
System requirements
~~~~~~~~~~~~~~~~~~~
Windows or Linux operating system
x86-compatible CPU with SSE2 support
OpenGL 1.1 videocard (OpenGL 2.0 is recommended)
SDL 2.0 (for Linux only, windows distribution has SDL2.dll included)
List of supported games
~~~~~~~~~~~~~~~~~~~~~~~
Supported all Unreal engine versions (1-4). The list of supported games consists of
more than 300 game titles, it is not reasonable to include it here. Some game titles
has limited support or not supported at all. Detailed information can be found here:
https://www.gildor.org/projects/umodel/compat
Web resources
~~~~~~~~~~~~~
UE Viewer home page and forum:
https://www.gildor.org/en/projects/umodel
or Russian page:
https://www.gildor.org/projects/umodel
UE Viewer FAQ:
https://www.gildor.org/projects/umodel/faq
Some tutorials available here:
https://www.gildor.org/projects/umodel/tutorials
Youtube page with tutorials and news:
https://www.youtube.com/playlist?list=PLJROJrENPVvK-V8PCTR9qBmY0Q7v4wCym
Other documentation:
https://www.gildor.org/smf/index.php/board,9.0.html
Name of the project
~~~~~~~~~~~~~~~~~~~
I've started the project in 2007 as some quick test for own skeletal animation system.
It didn't get a name first. Later I made it more "mature", it becate "UT2004 model viewer".
Later more games were added, and it became "Unreal model viewer" - short form is "umodel".
Later Epic Games requested me to remove their trademark "Unreal" from the name, so it became
"UE Viewer", with the same "shortcut" name which is now used only for executable file name
and when it's preferred to use shorter (unofficial) name.
Quick start
~~~~~~~~~~~
WARNING: it's highly recommended to read the FAQ and to watch video tutorials (see the
links above) before starting the umodel for the first time.
UModel primarily is a console application, with rich command line capabilities. Easiest
run is 'umodel
', it will start umodel in a viewer mode. To see the full
list of available command line options run 'umodel -help'.
You could also drag a package file (.upk, .xxx, .ukx etc) to umodel's icon to launch
the application. However default settings will be used in this case, so if game requires
some compatibility options, this will not work.
You may also use response file to provide command line arguments. More info is in Wiki page:
https://github.com/gildor2/UModel/wiki/Response-file
GUI
~~~
Some time ago simple GUI has been added for Windows version of UModel. It appears when
you start UModel without arguments (for example, clicking on UModel icon from Windows
Explorer). Please note that all command line option still works even in GUI mode.
A startup window appears only when you have neither game path nor package name specified.
It will allow you to choose where UModel will look for files ('-path' option) as well as
compatibility options. If you will set '-path' from the command line, startup GUI will
not appear. In a case you want to specify path and show startup GUI, add option '-gui'
to the command line.
Viewer window has user menu on the top of the window. Please review and try options
provided there. Most of them could be duplicated with keystrokes, and these key shortcuts
are listed in menu.
Viewer mode
~~~~~~~~~~~
The application is controlled with keyboard and mouse. You may see the full list of
keyboard shortcuts by pressing 'H' (Help) key. Here's the list of some shortcuts:
PgUp/PgDn browse through loaded objects
Ctrl+S take a screenshot into the file Screenshots/ObjectName.tga
Alt+S take screenshot with transparent background
Ctrl+X export all objects from the current scene
Ctrl+PgUp/PgDn scroll onscreen texts
Shift+Up/Down change scene FOV
Ctrl+L switch lighting modes
Ctrl+Q toggle visualization of debug information (text, 3D axis etc)
Ctrl+G toggle between OpenGL 2.0 (using shaders) and OpenGL 1.1 (no shaders)
Esc exit from the umodel
You may attach the AnimSet to the SkeletalMesh object using Ctrl+A key. Animation
sequences are listed by '[' and ']' keys, playback is started with a Space key.
Psk/psa export
~~~~~~~~~~~~~~
To load psk or psa into the 3ds Max you'll need ActorX Importer script created by me:
https://www.gildor.org/projects/unactorx
It has own announcements thread here:
https://www.gildor.org/smf/index.php/topic,228.0.html
Some meshes contains information which cannot fit into psk standard. For this reason I've
extended the format to hold advanced information. Files in this format has extension pskx
and cannot be loaded into UnrealEd or any other application with ActorX support. There's
only one tool with pskx support at the moment - ActorX Importer mentioned above.
Md5mesh/md5anim export
~~~~~~~~~~~~~~~~~~~~~~
Umodel has possibility to export skeletal meshes and animations in idSoftware md5 format.
To use this exporter you should use command line option "-md5". MeshAnimation and AnimSet
objects are exported as multiple md5anim files (one file for each animation track). "bounds"
section in md5anim is filled with dummy data. "hierarchy" section also does not contain real
skeleton hierarchy because Unreal engine uses hierarchy from the mesh, not from the
animation. Some md5 viewers/importers does require md5anim hierarchy, some - does not.
There is a 3ds Max md5mesh/md5anim importer script available on umodel forum:
https://www.gildor.org/smf/index.php?topic=87.0
or here
https://www.gildor.org/downloads
This script was originally created by der_ton, but was updated by me.
Please note that psk/psa format is more powerful, and ActorX Importer script has much more
capabilities than md5 Importer.
StaticMesh export
~~~~~~~~~~~~~~~~~
StaticMesh export is performed into psk format. This format was originally designed to hold
SkeletalMesh, but umodel uses it for StaticMesh too. Exported mesh will not have a skeleton
and vertex influences. Resulting psk files cannot be imported directly into the UnrealEd,
so I've decided to save ot with pskx extension to avoid silly user errors. Such mesh could
be imported into 3ds Max using ActorX Importer plugin as well as ordinary psk file.
Material export
~~~~~~~~~~~~~~~
Materials are exported in a custom format. File extension is ".mat". At the current moment,
this format is supported by ActorX Importer plugin only. Unreal engine materials are very
complex, so it's very hard to separate a few channels (diffuse, specular, bump etc) from it.
Umodel tries to accomplish this with use of some heuristics - sometimes with good results,
sometimes with bad. Umodel will never export full materials (GLSL script etc). Do not expect
too much from this feature.
Audio export
~~~~~~~~~~~~
Audio assets can't be previewed in UModel, it doesn't have any sound library built-in. However
you can export sounds. By default, sound loading is disabled in options, so if you'll try to
export any audio object you'll get nothing. To enable audio loading, you should either pass
option "-sounds", or check "sounds" option in UModel startup options window. Please note that
despite you may think that package contains audio, there are many objects in UE3 and UE4 which
are related to sound rendering, but they do not contain sounds themselves. For UE3, sound
objects are SoundNodeWave, and SoundWave in UE4. In older versions of UE they have name Sound.
Used third-party libraries
~~~~~~~~~~~~~~~~~~~~~~~~~~
SDL - Simple DirectMedia Layer
(c) Sam Lantinga
http://www.libsdl.org/
zlib data compression library
(c) Jean-loup Gailly and Mark Adler
http://zlib.net/
libpng
(c) Glenn Randers-Pehrson
http://www.libpng.org/
LZO data compression library
(c) Markus F.X.J. Oberhumer
http://www.oberhumer.com/opensource/lzo/
libmspack - a library for Microsoft compression formats
(c) Stuart Caie
http://www.cabextract.org.uk/libmspack/
LZ4
(c) Yann Collet
http://www.lz4.org
NVIDIA Texture Tools
(c) NVIDIA
https://github.com/castano/nvidia-texture-tools
PVRTexLib Library
(c) Imagination Technologies Limited
http://www.imgtec.com/powervr/insider/
ASTC encoder
(c) ARM Limited and Contributors
https://github.com/ARM-software/astc-encoder
detex
(c) Harm Hanemaaijer
https://github.com/hglm/detex
ooz
(c) Powzix
https://github.com/powzix/ooz
Changes
~~~~~~~
16.11.2019
- added oodle decompression support
22.10.2019
- finalized UE4.23 support, initial UE4.24 support
15.10.2019
- loading and visualizing of UE3 and UE4 MorphTargets; switching between morphs is done with Ctrl+[ and Ctrl+]
keys
13.10.2019
- added full vertex color support (loading, viewing, exporting)
09.10.2019
- supported Borderlands 3 static meshes
06.10.2019
- added Kingdom Hearts III support, requires -game=kh3 -ps4
17.09.2019
- implemented glTF LOD export
14.09.2019
- added support for Borderlands 3 skeletal meshes and textures (nothing else works), requires -game=border3
28.08.2019
- added option for exporting textures using PNG format; could be switched on with -png command line option
or in Export Options dialog window
25.08.2019
- fixed UE4 masked material display
22.08.2019
- implemented Ascendant One support, requires -game=asc1 or override in UI
17.08.2019
- improved UE4 batch export of animations: now each AnimSequence stored in own psa file with the name of
AnimSequence object
- logging export process with saying exact name of exported animation
- optimized export of textures: avoiding multi-export when the same texture regerenced by materials etc;
in my tests export for UE4 folder performed 3+ times faster
02.08.2019
- more UE4.23 stuff: changes in skeletal and static mesh data formats
23.07.2019
- support for UE4.23 animation changes
18.07.2019
- UI: using tabbed dialog for options
- UI: showing export and save packages options when user doing these operations, the options window could be
suppressed for next export/save
11.07.2019
- updated Lineage 2 SkeletalMesh support
05.07.2019
- added support for final version of Unreal Tournament 4 (requires game override: -game=ut4)
22.06.2019
- support for newer UE3 StaticMesh format
12.06.2019
- initial support for UE4.23
13.05.2019
- added Life is Strange 2 support (requires -game=lis2 override)
11.05.2019
- added support for New Gundam Breaker (requires game override, -game=ngb)
16.04.2019
- added response file support, more info: https://github.com/gildor2/UModel/wiki/Response-file
- usage: umodel @response.txt
14.04.2019
- improved package dialog:
- added "open" actions for folder
- added "copy path" action for package list
- added "scan content" for folder (so you don't need to scan everything if interested only in single folder)
12.04.2019
- final UE4.22 support
23.03.2019
- changed default texture ("UV checker")
21.03.2019
- fixed crash with some pre-UE4.13 animation tracks
20.03.2019
- optimized startup and content scan times when working with huge games
18.03.2019
- when exporting, avoiding adding numeric suffixes to files which are saved more than once whenever possible
(adding only for UE3 with special options)
12.03.2019
- UModel is no longer crashed when trying to open a file with wrong tag - a warning message is displayed instead
10.03.2019
- UE4.22 StaticMesh support
06.03.2019
- made error window larger and resizeable
28.02.2019
- memory use optimizations, package information now uses 25% less memory
22.02.2019
- 32-bit Windows build now can use up to 4Gb of RAM when running on ***-bit Windows
06.02.2019
- "save packages" now preserves oridinal directory directory structure; Windows version has options for selecting save
path and option for building or not directory hierarchy (for linux, same things could be changed in cfg file)
08.01.2019
- added Nintendo Switch texture support; activated with option "-nsw" or with selecting Nintendo Switch from platform
list
- platform list now displayed in UI as a combobox, not as a radio button group
04.01.2019
- added UE4.21 support
29.10.2018
- UI: added content menu for file list in package dialog
27.10.2018
- UI: added context menu for folder list in package dialog, contains "export" and "save packages" commands
- "-export" command line option now uses the same exporting code as GUI, so "-export *" will work correctly without
running out of memory
- added "-save" command line option which saves all specified packages
21.10.2018
- properly work with UE4 skeletons which has scale on bones
06.10.2018
- sound export for UE4 attempts to save "ue4opus" file for streamed sounds
22.08.2018
- implemented glTF skeletal animation export; note that the animation should be opened in mesh viewer for that
16.08.2018
- an attempt to not crash when UE4 pak files has encrypted index, and AES key doesn't match
01.08.2018
- addeed skeletal mesh export in glTF format
27.07.2018
- added option for exporting static meshes to glTF 2.0 format; activated in options window or with "-gltf"
command line option
20.07.2018
- final UE4.20 support
19.07.2018
- some fixes for UE4 PNG texture loading
15.07.2018
- package selection and package version report windows are now resizable
11.07.2018
- exporting a .props.txt file next to .mat, it contains all material's properties
28.06.2018
- heavily optimized memory used by animations
24.06.2018
- fixed loading of UE4 .umap files
- initial support for UE4.20
23.06.2018
- optimized amount of memory used for UE4 animations
21.06.2018
- added configuration file (umodel.cfg) and options window
19.06.2018
- added Playstation 4 platform support, activated with -ps4 command line or in GUI; credit for texture
decoding is m0xf (http://www.gildor.org/smf/index.php/topic,6221.0.html)
14.06.2018
- added Rocket League support, contributed by AltimorTASDK (https://github.com/gildor2/UModel/pull/73)
06.06.2018
- added PF_BC4 texture format support
- fixed a bug: materials and referenced textures weren't exported when UModel failed to recognize at least one
texture parameter
04.06.2018
- added State of Decay 2 SkeletalMesh support, requires game override (-game=sod2)
- linux: saving all files to the user's home (~/) directory by default
29.05.2018
- fixed incompatibilities with Ark: Survival Evolved and Dauntless, both games requires explicit game override
19.05.2018
- implemented support for loading of UE3 and UE4 png-compressed textures
16.05.2018
- added functionality which finds all animations for currently opened UE4 SkeletalMesh, accessible with Ctrl+A
key or via "SkeletalMesh | Find animations" menu
13.05.2018
- added viewer menu with object-specific actions
01.05.2018
- added UE4.20 pak file support
20.04.2018
- added support for loading UE4 editor SkeletalMesh assets
11.04.2018
- fixed long standing issue with many UE4 animation tracks caused either crash or dropping animation
02.04.2018
- added possibility to change shape of material preview with 'S' key
- fixes some issues with material/texture preview mode (wrong lighting, wrong reflections)
01.04.2018
- implemented HDR texture support; textures are exported into radiance .hdr file format (RGB, no alpha channel);
initial implepemtation has been contributed by m0xf (https://github.com/gildor2/UModel/pull/60)
31.03.2018
- improved handling of AES keys: stripping spaces from key string, improved encryption errors reporting
23.03.2018
- updated for final UE4.19 version (changed SkeletalMesh format)
22.03.2018
- implemented full Gears of War 4 support
- displaying information in viewer window about objects in loaded packages when there's nothing visual inside
- improved umodel's main window title - it now contains information about umodel build version and about path
to game files
- preserving all UI elements when closing Package Selection dialog, so next time you'll open it, dialog will
be in exactly the same state as when it was closed
18.03.2018
- implemented Gears of War 4 pak file and package support; requires game override -game=gears4 (or use UI)
24.02.2018
- AES encryption key could be now in hex format: 0x123456789ABCDEF (C-like format)
18.02.2018
- implemented Heroes of Incredible Tales (HIT) static mesh support; requires -game=hit override
08.02.2018
- added Paragon support (requires game override: -game=paragon)
07.02.2018
- implemented UE4.19 support
31.01.2018
- implemented loader for encrypted compressed UE4 pak files
23.01.2018
- added support for loading AES-encrypted UE4 pak files; AES key may be specified with command line option
-aes=key, or it will be requested by UI when needed
20.01.2018
- improved laptop keyboard support
04.01.2018
- updated UE4.18 support
- displaying a warning message in UE4 SkeletalMesh viewer when Skeleton object is not loaded, and therefore
animation will not work
06.12.2017
- an attempt to make smoothing groups working: always exporting 1st smoothing group for all mesh faces
19.11.2017
- exporting "source art" (png) textures whenever possible - for UE3 and UE4 editor packages
02.10.2017
- added Fortnite support (currently requires game override)
29.09.2017
- added Unreal engine 4.17 support and initial UE4.18 support
29.07.2017
- implemented Lawbreakers support
28.07.2017
- added Gigantic auto detection
27.07.2017
- showing object's group name in viewer for UE1-UE3 games
12.06.2017
- added Tekken 7 support, game requires override -game=tekken7
09.06.2017
- added Friday the 13th: The Game support, game requires override -game=friday13
16.05.2017
- fixed loading of UE4 source animation assets
09.05.2017
- fixed bug in Win32 SDL2 caused incorrect handling of -path="some path" command line option
26.04.2017
- added Android ETC2 texture format support
25.04.2017
- fixes with mesh rotation (only affects mesh display in viewer)
- exporting skeletal mesh with "-uc" parameter will not also dump mesh socket information
09.04.2017
- updated UE4.16 support
08.04.2017
- Heavily optimized package scanner. Results: PARAGON scanned 30 times faster (reduced scan time from 2.5 min
to 4 sec) and requires 35% less memory after package scan.
03.04.2017
- implemented loading of Blade & Soul specific animations
18.03.2017
- improved handling of unversioned UE4 packages: displaying a dialog box prompting for entering engine version
17.03.2017
- changed support for UE4 game tags, cleaned up list of UE4 engine versions from -help and -taglist options
08.03.2017
- added ASTC texture format support
01.03.2017
- updated SDL2 to 2.0.5
16.02.2017
- final UE4.15 support, initial 4.16 support
- added some fix to avoid crash when loading corrupted PARAGON animations
06.02.2017
- improved support for UE4 versioned packages
01.02.2017
- updated UE4.15 support ... ...