Unreal Engine Model Viewer (UE Viewer).
Switch branches/tags
Clone or download
Permalink
Failed to load latest commit information.
Core Fixed build with DO_GUARD=0 Aug 26, 2018
Docs Improved UE4Version.pl script - more information, better output forma… Jul 20, 2018
Exporters glTF animation export: optimized data size, gltf json files are nearl… Sep 15, 2018
MeshInstance CSkelMeshViewer: Aug 19, 2018
Tools Nothing special: Aug 15, 2018
UI Fixed crash when opening a package with showing material after a skel… Aug 26, 2018
UmodelTool Added -psk command line option - it allows to override export to Acto… Sep 6, 2018
Unreal Improved logging and error reporting. Sep 15, 2018
Viewers Passing CAnimSet from viewer to exporter as CSkeletalMesh::Anim, so v… Aug 19, 2018
libs Added libpng source code. May 19, 2018
.editorconfig Added .editorconfig for correct viewing of source files on GitHub Nov 28, 2016
.gitattributes Minor changes: Oct 14, 2016
.gitignore Nothing special, cumulative update for coding style fixes etc. Aug 1, 2018
README.md Changed compiler to VIsual Studio 2013, updated README.md. Apr 5, 2018
SDL2.dll Recompiled SDL2.dll with use of Visual Studio 2010. Older SDK version… May 9, 2017
build.sh Fixed build without .git directory. Jul 8, 2018
common.project Genmake: restored Windows XP support, it disappeared when migrated to… Jul 22, 2018
glslang.dll - GL_MakeShader() Oct 17, 2009
makefile-linux Updated binaries with glTF SkeletalMesh export. Aug 1, 2018
makefile-vc-win32 Updated binaries with glTF SkeletalMesh export. Aug 1, 2018
package_lnx.sh Texture decompression: Oct 24, 2009
package_win32.sh Reliable prevention of packaging of umodel.exe when it is build as "P… Jun 3, 2018
readme.txt Added glTF animation export. Aug 22, 2018
src-arc.sh UI: Sep 8, 2014
t.bat Nothing special, cumulative update for coding style fixes etc. Aug 1, 2018
test.sh UE4: added UE4.20 support: Jul 16, 2018
umodel Another one fix in FReferencePose for editor assets - serializing FSo… Sep 7, 2018
umodel.exe Another one fix in FReferencePose for editor assets - serializing FSo… Sep 7, 2018

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. Required VisualStudio 2013 or newer. Older Visual Studio compilers are not suitable because UModel's code using some C++11 stuff.

Currently build is performed with Visual C++ 2013.

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

Windows 64-bit

Despite we're providing only 32-but builds of UModel, it is possible to compile it for 64-bit platform. To do that, you should change a variable in build.sh: PLATFORM should be changed from vc-win32 to vc-win64. Please note that 64-bit SDL2.dll is not present in this git repository, you should download this library by yourself.

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, simply execute the following command from terminal

./build.sh

C runtime library for MSVC

UModel is dynamically linked with CRT library, so it requires CRT DLL files to be installed onto your system. It is possible to statically link with you compiler's CRT by changing a line in common.project (with cost of growing executable file size):

LIBC = shared

to

LIBC = static

UModel uses custom CRT library for being able to link against MSVCRT.DLL. MSVCRT.DLL is choosen because it allows to reduce size of UModel distribution without needs to install compiler runtime libraries on system - MSVCRT.DLL present on any Windows system. You may disable MSVCRT.DLL linking by commenting out line

OLDCRT = 1

Please note that custom CRT library will not be compatible with Visual Studio 2015, so it must be disabled in order to build with this or newer Visual Studio version. There's no needs to disable OLDCRT manually if you're correctly setting vc_ver variable in build.sh - it will be disabled automatically.

You might also want to disable OLDCRT if you didn't install MSVCRT library as described below.

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