Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork547
Viewer and exporter for Unreal Engine 1-4 assets (UE Viewer).
License
gildor2/UEViewer
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
UE Viewer is a viewer for visual resources of games made withUnreal engine.Currently all engine versions (from 1 to 4) are supported.
The project was originally named the "Unreal model viewer", however the namewas changed in 2011 to meet the request from Epic Games.Please note that "official" project's name is "UE Viewer", and a short unofficial name of the project is "umodel"(it was left from the older name "UnrealMODEL viewer").
There's a place where you may discuss the source code:gildor.org forums.
The source code isavailable at GitHub. You may either checkout itwith use of any Git client, or download it as aZip file.
We are using own build system to compile UE Viewer. You may find a Perl script inTools/genmake. This scriptgenerates makefiles from some human-friendly project format. After that you may build generated makefileusing 'nmake' for Visual Studio or 'make' for gcc. Build process is controlled withbuild.sh script.
To list all options, runbuild.sh --help. Current options are:
--64compile for Windows 64bit--debugmake a debug version of executable--profilemake a special build which is intended to use with external profiler--vc <version>specify which Visual Studio version should be used for compilation, default is latest compilerinstalled on your system
Please note thatbuild.sh is not just a shortcut for callingmake -f <makefile>, it performs more actions.It does:
- Generating a makefile for current platform.
- Making
UModelTool/Version.hfile which contains current build number based on number of Git commits. - Preprocessing shaders (with executing
Unreal/Shaders/make.pl). - It has the possibility to compile just a single cpp file from the project (used with Visual Studio Code Ctrl+F7 key).
UE Viewer is compiled using Visual Studio. Required VisualStudio 2013 or newer. Older Visual Studio compilers arenot suitable because viewer's code using some C++11 stuff.
Currently build is performed with Visual C++ 2019.
Build system utilizes GNU Tools for building, in particular - Bash and Perl. I've packaged Windows versionsof these tools which was a part ofMinGW/MSYS project. You can get everything what you needfor a buildhere. You should download it and extract into some directory (pressthe green button "Clone or download", then "Download ZIP"). Let's say youextracted everything toC:\BuildTools. After that, addC:\BuildTools\bin to the system'sPATH environment variable. As analternative it is possible to create a batch file which will temporarily modifyPATH and then execute build script.Here's an example of such file:
@echo offset PATH=C:\BuildTools\bin;%PATH%bash build.shTo launch a build process without a batch, simply execute
bash build.shDespite only 32-bit builds of UE Viewer being provided, it is possible to compile it for 64-bit platform. To do that, youshould change a variable inbuild.sh:PLATFORM should be changed fromvc-win32 tovc-win64. Also 64-bit build couldbe initiated with launching
build.sh --64Linux system has the most of dependencies by default. You'll need to install the following development packages if they'renot available on your system: SDL2, zlib, libpng. Of course, you'll also need gcc for compiling the project.To build UE Viewer, simply execute the following command from terminal
./build.shWhen compiling for Linux, project will use system's zlib and libpng libraries. If you want to bundle (statically link) theminto umodel executable, you may find and comment the following line incommon.project
USE_SYSTEM_LIBS = 1In this case, Linux build will be performed in the same way as Windows build, with compiling and bundling mentioned libraries.
UE Viewer is provided with initial support for macOS platform. I'm using VMWare macOS image to build it, so I can't do thefull testing. Therefore, some features are disabled:
- no OpenGL support (no visualization) - it is explicitly disabled inUmodelTool/Build.h
- no multithreading support - it's disabled in the same place
In other words, UE Viewer on macOS works just like a simple command-line exporter utility.
As UE Viewer is using custom cross-platform build system, there's no MSBuild support. However we have a simple Visual Studioproject which allows to use this IDE to edit, compile, run and debug the project. Project files are located in.vs directory.In order to open the project, you should start Visual Studio, use "Open a local folder" command, and then choose root project'sdirectory. Please note: there's .sln file somewhere inTools folder, don't use it - it is intended for UI framework testing.
Please note that you should use Visual Studio 2019 or newer, otherwisesome features will not work.
UE Viewer contains project files needed for opening and running it fromVisual Studio Code.Just open viewer's folder in VSCode, and you'll get everything. Project already has a build task and launch actions set up.Of course you'll need aC/C++ extension installed.You may build, launch and debug UE Viewer using this IDE.
VSCode project comes with additional build command which could be bound to a key. Just use
{"key": "ctrl+f7","command": "workbench.action.tasks.runTask","args": "Compile"}and then Ctrl+F7 key will compile a file currently opened in editor. Of course, it won't work for headers and other non-cppfiles.
By default, Visual Studio Code project performs Debug build. If you want something else, change.vscode/tasks.json file,and remove--debug option frombuild.sh command.
There are 2 configurations For debugging: "No arguments" runs UE Viewer with default startup UI, and for use of command lineyou may launch 2nd "Volatile" configuration, which reads command line arguments from filedocs/cmdline.cfg - please refer toResponse files documentation for details on its format. You may alsoedit.vscode/tasks.json file to add your own debug configurations.
Initially UE Viewer was released without a Visual Studio solution. However it was possible to debug it within an IDE. The informationbelow describes how to build and debug UE Viewer for debugging without use of VS project (e.g. when you're using older IDE version).
You can build a Debug version of viewer by uncommenting#define MAX_DEBUG 1 inUmodelTool/Build.h and rebuilding theproject. 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 closeprogram or debug it. You may choose "Debug with Visual Studio" there.
Also you may use--debug parameter for build.sh script. This will generate separate set of object files and link intodebug version of the executable (with the same executable file's name). You may quickly switch between "debug" and "release"builds without having to fully recompile the program.
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 selectumodel.exe), or you may type in console
devenv umodel.exeIt is recommended to useVisual Studio 2013 IDE or newer because it has more advanced debugging features than previous studioversions. You may copyTools/umodel.natvis file toC:\Users\Your_user_folder\My Documents\Visual Studio 20NN\Visualizers,and after that you'll be able to viewTArray andFString structures during debug session.
UE Viewer is dynamically linked with CRT library, so it requires CRT DLL files to be installed onto your system. It is possibletostatically link with you compiler's CRT by changing a line incommon.project (with cost of growing executable file size):
LIBC = sharedto
LIBC = staticUE Viewer uses custom CRT library for being able to link against MSVCRT.DLL. MSVCRT.DLL is chosen because it allows toreduce size of UE Viewer distribution without needs to install compiler runtime libraries onto a Windows system - MSVCRT.DLL present onany Windows installation. You may disable MSVCRT.DLL linking by commenting out the line
OLDCRT = 1Previously there were some problems with using msvcrt.dll with Visual Studio compiler 2015 and newer. However all issues has beensolved. For those who interested in details, I'veprepared an article.
If you want to use MSVCRT.DLL, you should extractMSVCRT.zip archive availablehere 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 changingWDKCRT variable incommon.project.
Below is the list of major folders which exists in this repository or which are generated during build process.
├── .vs # Visual Studio 2019 project files├── .vscode # Visual Studio Code project files├── Core # corelibraries not related to Unreal engine│ └── GL # OpenGL wrapper builder├── Docs # miscellaneous text files├── Exporters # exporters for different object types├── Libs # third-party libraries used for building├── MeshInstance # mesh renderers├── obj # all compiled object files goes there├── Tools│ ├── CompatTable # source of compatibility table│ ├── MaxActorXImport # ActorX Importer script for 3ds Max│ ├── PackageExtract # Unreal package extractor source│ └── PackageUnpack # unreal package decompressor source├── UI # library used to show UI on Windows├── UmodelTool # source code of umodel itself├── Unreal # source code of Unreal Engine framework│ └── Shaders # shaders used in UModel's renderer├── Viewers # viewers for different object types├── build.sh # main build script├── common.project # main project file, reused between different sub-projects├── t.bat # Windows CMD caller for test.sh└── test.sh # internal script used for testingUE Viewer is licensed under the MIT License, seeLICENSE.txt for more information.
About
Viewer and exporter for Unreal Engine 1-4 assets (UE Viewer).
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors5
Uh oh!
There was an error while loading.Please reload this page.