UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
FAQ
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes

Semi-automatic Compilation with Build Script

A UNIGINE Build script is a one-touch solution to rebuild the engine and tools with different options.

To invoke the build script, run <UnigineSDK>/source/build.py from a console (see examples below). Note that you need to properly set the development environment to get the script working.

Built files can be found in the target directory, in bin and lib folders.

Notice
Rebuilding the UNIGINE engine and tools is available only in the full source version of SDK.

Command Line Options

--help Display a help message and exit.
--type TYPE Type of the build (multiple options are accepted). The default is release.

all
release
debug
Both debug and release versions of components are built at the same time
Production version
Version with detailed debugging information
--bits BITS Bit count of the target platform. OS native bit count is detected and used as a default one.

all
32
64
Build two variants for both 32- and 64-bit platforms
32-bit build
64-bit build
--csharp Build the C# libraries and the application.
--component COMPONENT UNIGINE component to build. The default is engine.

all

engine
plugins
tools
samples







qtapp
sdlapp
UNIGINE engine together with stand-alone tools, plugins and C++ samples. If the --csharp is passed, C# and samples will be built too.
UNIGINE engine (both the binary executable and the library)
Plugins
Stand-alone tools
C++ samples. If the --csharp is passed, both the C++ and C# samples will be built.
Notice
When rebuilding Qt samples, you can use the build.py script for VS2013 (build tools v120) only. To build these samples with other VS versions please use Qt Creator.

Build Qt main application
Build SDL main application
--precision PRECISION Create a build with single or double precision coordinates support. The default is float.

float
double
Use single precision coordinates
Use double precision coordinates
--plugin PLUGIN Build C++ plugins individually or in groups. The default is no. In the evaluation version of UNIGINE SDK, some plugins cannnot be rebuilt.

no
all
App3DSurround
App3DVision
AppEasyBlend
AppOculus
AppProjection
AppSeparate
AppSurround
AppVive
AppWall
CigiClient
Collada
GPUMonitor
Interface
LeapMotion
OpenFlight
SSLSocket
Steam
Syncker
Kinect
VrpnCLient
ARTTracker
Do not build plugins
Build all available plugins
NVIDIA 3D Vision Surround stereo plugin
NVIDIA 3D Vision stereo plugin
AppEasyBlend plugin
Plugin for the Oculus Rift virtual display
AppProjection plugin
AppSeparate plugin
AppSurround plugin
AppVive plugin
Plugin for multi-monitor support
Plugin for CIGI standard
Import plugin for Collada
GPUMonitor plugin
Interface plugin
LeapMotion plugin
Import plugin for OpenFlight
SSLSocket plugin
Plugin for Steam integration
Plugin for Multi-channel rendering synchronization
Kinect2 add-on
VRPN add-on
ARTTRACK add-on

Plugins are specified in the following way:

Shell commands
--plugin PluginName1 PluginName2 PluginName3
--tool TOOL Build UNIGINE tools individually or in groups (--component parameter should be set to all or tools). The default is all.

all
Archiver
ImageDDS
ImageTTF
ImageView
Interpreter
MeshImport
Resource
ResourceEditor
Terrain
TilesetFile
Build all available tools
Archiver tool
ImageDDS tool
ImageTTF tool
ImageView tool
Interpreter tool
MeshImport tool
Resource tool
Resource Editor

TilesetFile tool

Tools are specified in the following way:

Shell commands
--tool ToolName1 ToolName2 ToolName3
--log LOGFILE Create a log file that contains a record of the compilation. By default, no name is specified and the log file is not created.
--simd SIMD Perform parallel compilation using the SIMD operations. The default is sse2.

no
sse
sse2
avx
Do not use
Use SSE technology
Use SSE2 technology
Use AVX technology
--vs VS Version of Visual Studio build tools to be used. The default is v141.


v120
v140
v141

Use VS2013, build tools v120
Use VS2015, build tools v140
Use VS2017, build tools v141
--jobs JOBS Perform parallel compilation. An argument specifies the number of parallel building jobs to be run. The default is all.

all
1
2
3
4
6
8
16
Use all available CPU cores to run the building jobs
Use 1 thread
Use 2 threads
Use 3 threads
Use 4 threads
Use 6 threads
Use 8 threads
Use 16 threads
--clean_source Clean up the source directory before the compilation starts (i.e. remove pdb, ilk, exp files, etc.).
--clean_target Delete everything from the target directory before the compilation starts.
--clean_only Full clean up without compilation. The default is false.
--features BUILD FEATURES Add features to UNIGINE Engine build. The default is no.

no Do not use any additional features.
terminal Enable the TELNET terminal.
password Use the password. The <UnigineSDK>/source/engine/password.resource file should be created by using the Resource tool before rebuilding.
microprofile Include microprofile - tiny third-party profiler with web integration.
quadbuffer NVidia QuadBuffer feature.
Notice
Available for Sim SDK only.
videograbbing OpenEXR format.
splash Ability to load custom splash screen.
geodetic Geodetic feature (support for 3D geoid model).
Notice
Available for Sim SDK only.
opengl_44 Use OpenGL 4.4 (OpenGL 4.5 is used by default).

Features are specified in the following way:

Shell commands
--features feature1 feature2 feature3
--skip_errors Skip build errors (if any). When this option is set, the build.py script is run for all of the specified tools and plugins, even if errors occur. The build errors are displayed at the end.
Notice
This option allows skipping build errors only for tools and plugins.
This option allows you to check which plugins and tools have not been built successfully and speeds up error fixing.
TARGET The last optional argument is a target directory to store builds, by default it's ../. Two additional directories in the target directory will be created: bin and lib to store the binary executable and libraries, respectively.

If no options are set, the script will be built with default values.

Usage Examples

To build the release version of the UNIGINE engine (both the binary executable and the UNIGINE library) for a 64-bit platform, just run the build script:

Shell commands
C:\Windows\system32>c:

C:\Windows\system32>cd c:\UNIGINESDK\source\

C:\UNIGINESDK\source>build.py

In the example below, the debug version of tools will be rebuilt for 32-bit Windows (the current platform):

Shell commands
C:\UNIGINESDK\source>build.py --type=debug --bits=32 --component=tools

To create the debug version of the engine with double precision coordinates support, use the following:

Shell commands
C:\UNIGINESDK\source>build.py --type=debug --precision=double

To build all the C++ and C# samples, type:

Shell commands
C:\UNIGINESDK\source>build.py --component samples --csharp

To build the release version of the GPUMonitor plugin for x64 platform, use the following command:

Shell commands
C:\UNIGINESDK\source>build.py --plugin=GPUMonitor
Last update: 2018-06-04