Unreal Engine Model Viewer (UE Viewer).
C++ Perl MAXScript Shell JavaScript CSS Batchfile
Latest commit 3e817d7 Jan 18, 2017 @gildor2 Fixed typo in UE4 SkeletalMesh loading code, sometimes caused bad inf…
…luences when influence[4] linked to chunk's bone[0].
Permalink
Failed to load latest commit information.
Core Standardized #ifndef __HEADER_NAME_H__/#endif a little bit. Added mis… Nov 20, 2016
Docs Added support for Devil's Third encrypted packages. Moved decryptors … Jun 4, 2016
Exporters Fixed crash when exporting UMaterialWithPolyFlags (it has NULL Package) Dec 21, 2016
MeshInstance Standardized #ifndef __HEADER_NAME_H__/#endif a little bit. Added mis… Nov 20, 2016
Tools Batch exporter script: Jan 17, 2017
UI UI library: UICheckboxGroup's constructor now accepts variable by poi… Jan 15, 2017
UmodelTool Updated copyright year. Jan 3, 2017
Unreal Fixed typo in UE4 SkeletalMesh loading code, sometimes caused bad inf… Jan 18, 2017
Viewers Standardized #ifndef __HEADER_NAME_H__/#endif a little bit. Added mis… Nov 20, 2016
libs Fix NVTT builds in MSVC >= 14.0 Nov 29, 2016
.editorconfig Added .editorconfig for correct viewing of source files on GitHub Nov 28, 2016
.gitattributes Minor changes: Oct 14, 2016
.gitignore Implemented UE4 SkeletalMesh support Jan 18, 2015
README.md Updated readme.md May 8, 2016
SDL2.dll Committed missed SDL2.dll. Updated .gitignore. Oct 23, 2014
build.sh Make build scripts executable for Linux build Jan 23, 2016
common.project Added possibility to compile code using Visual Studio with maximal wa… Jul 13, 2015
glslang.dll - GL_MakeShader() Oct 17, 2009
makefile-linux Fixed serialization of Bioshock 1 Remastered SkeletalMesh (like Stati… Jan 3, 2017
makefile-vc-win32 Fixed serialization of Bioshock 1 Remastered SkeletalMesh (like Stati… Jan 3, 2017
package_lnx.sh Texture decompression: Oct 24, 2009
package_win32.sh SDL2: updated docs and packaging script Oct 23, 2014
readme.txt Implemented initial UE4.15 support. Jan 10, 2017
src-arc.sh UI: Sep 8, 2014
t.bat Git migration: Sep 19, 2014
test.sh Implemented initial UE4.15 support. Jan 10, 2017
umodel Fixed typo in UE4 SkeletalMesh loading code, sometimes caused bad inf… Jan 18, 2017
umodel.exe Fixed typo in UE4 SkeletalMesh loading code, sometimes caused bad inf… Jan 18, 2017

README.md

UE Viewer (UModel)

UE Viewer, formerly known as "Unreal model viewer", is a viewer for visual resources of games made with Unreal engine. Currently all engine versions (from 1 to 4) are supported.

There's a place where you may discuss about the source code: gildor.org forums.

Obtaining the source code

The source code is available on GitHub. You may either checkout it using any Git client, or download it as a Zip file.

Building the source code

We are using own build system to compile UModel. You may find a Perl script in Tools/genmake. This script generates makefiles from some human-friendly project format. After that you may build generated makefile using 'nmake' for Visual Studio or 'make' for gcc.

Windows

UModel is compiled using Visual Studio. Currently build is performed with Visual C++ 2010, but in theory almost all Visual Studio versions should be supported (perhaps except Visual C++ 6.0 and Visual C++ 2001).

Build system utilizes GNU Tools for building, in particular - Bash and Perl. I've packaged Windows versions of these tools which was a part of MinGW/MSYS project. You can get everything what you need for a build here. This page contains BuildTools.zip. You should download it and extract into some directory, let's say to C:\BuildTools. After that, put C:\BuildTools\bin to the system's PATH variable. As an alternative it is possible to create a batch file which will temporarily modify PATH and then execute build script. Here's an example of such file:

@echo off
set PATH=%PATH%;C:\BuildTools\bin
bash build.sh

To launch a build process without a batch, simply execute

bash build.sh

Linux

This system has everything what is required for build by default. You'll only need to install SDL2 development package (and of course gcc). To build UModel, execute from console

./build.sh

C runtime library for MSVC

UModel uses custom CRT library for being able to link with MSVCRT.DLL. It is possible to statically link with you compiler's CRT by changing in common.project

LIBC = shared

to

LIBC = static

MSVCRT.DLL is choosen because it allows to reduce size of UModel distribution without needs to install compiler runtime libraries on system. You may disable MSVCRT.DLL linking by commenting out line

OLDCRT = 1

If you want to use MSVCRT.DLL, you should extract MSVCRT.zip archive available here to the directory LIBS one level above of UModel directory. So, the directory structure should look like this

/Libs
  /MSVCRT
    /include
    /lib
    msvcrt.project
/UModel
  /Core
  /Unreal
  ...
  build.sh
  ...

Also you may change MSVCRT library path by changing WDKCRT variable in common.project.

Debugging in Visual Studio

UModel was released without a Visual Studio solution. By the way it is still possible to debug it within an IDE. You can build a Debug version of UModel by uncommenting #define MAX_DEBUG 1 in UmodelTool/Build.h and rebuilding the project. After that you'll get executable with optimizations disabled, and with some extra features. For example, if umodel.exe crashes, and it is started with -debug option, standard Windows window appears with prompt to close program or debug it. You may choose "Debug with Visual Studio" there.

If you want to debug umodel.exe in VIsual Studio without having a crash, you may load it either from IDE (File | Open | Project/Solution, then select umodel.exe), or you may type

devenv umodel.exe

from console.

It is recommended to use Visual Studio 2013 IDE or newer because it has more advanced debugging features than previous studio versions. You may copy Tools/umodel.natvis file to C:\Users\Your_user_folder\My Documents\Visual Studio 20NN\Visualizers, and after that you'll be able to view TArray and FString structures during debug session.

Directory structure

TODO

/Core
  /GL
/Docs
/Exporters
/Libs
/MeshInstance
/obj
/Tools
  /CompatTable
  /MaxActorXImport
  /PackageExtract
  /PackageUnpack
/UI
/UmodelTool
/Unreal
  /Shaders
/Viewers