This page has been translated automatically.
Programming
Fundamentals
Setting Up Development Environment
UnigineScript
High-Level Systems
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
Rendering-Related Classes
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

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>/utils/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
tools
qtapp
sdlapp
samples
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)
Stand-alone tools
Build Qt main application
Build SDL main application
C++ samples. If the --csharp is passed, both the C++ and C# samples will be built.
--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.

no
all
App3DSurround
App3DVision
AppBorder
AppOculus
AppProjection
AppSeparate
AppSurround
AppWall
CigiClient
Collada
GPUMonitor
Interface
OpenFlight
SSLSocket
Steam
Do not build plugins
Build all available plugins
NVIDIA 3D Vision Surround stereo plugin
NVIDIA 3D Vision stereo plugin
AppBorder plugin
Plugin for the Oculus Rift virtual display
AppProjection plugin
AppSeparate plugin
AppSurround plugin
Plugin for multi-monitor support
Plugin for CIGI standard
Import plugin for Collada
GPUMonitor plugin
Interface plugin
Import plugin for OpenFlight
SSLSocket plugin
Plugin for Steam integration

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
Build all available tools
Archiver tool
ImageDDS tool
ImageTTF tool
ImageView tool
Interpreter tool
MeshImport tool
Resource tool
Resource Editor

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
--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
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
--clean_source Clean up the source directory before the compilation starts (i.e. remove pdb, ilk, exp files, etc.). When this option is set, the source/clean.py script is actually run. If you need to clean up after the compilation was performed, run this script manually (the target directory will remain untouched).
--clean_target Delete everything from the target directory before the compilation starts.
--features BUILD FEATURES Add features to Unigine Engine build. The default is no.

no
terminal
password
microprofile
quadbuffer
videograbbing
splash
geodetic
Do not use any additional features
Enable the TELNET terminal.
Use the password. The <UnigineSDK>/source/engine/password.resource file should be created by using the Resource tool before rebuilding.
Include microprofile - tiny third-party profiler with web integration
NVidia QuadBuffer feature
OpenEXR format
Ability to load custom splash screen
Geodetic

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\utils\

C:\UNIGINESDK\utils>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\utils>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\utils>build.py --type=debug --precision=double

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

Shell commands
C:\UNIGINESDK\utils>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\utils>build.py --plugin=GPUMonitor
Last update: 2017-07-03
Build: ()