This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Basics
Rendering
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Version Control
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Materials and Shaders
GUI
Double Precision Coordinates
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials

Semi-automatic Compilation with Build Script

A UNIGINE Build script is a one-touch solution to rebuild the engine 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 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 Both debug and release versions of components are built at the same time
release Production version
debug Version with detailed debugging information
--csharp Build the C# libraries and the application.
--component COMPONENT

UNIGINE component to build.

all UNIGINE stand-alone tools, plugins and C++ samples. If the --csharp is passed, C# and samples will be built too.
plugins Plugins
tools Stand-alone tools
samples C++ samples. If the --csharp is passed, both the C++ and C# samples will be built.
qtapp Build Qt main application
build_tool Command-line Build Tool
runtimes_generator Runtimes Generator command-line tool
--precision PRECISION

Create a build with single or double precision coordinates support. The default is float.

float Use single precision coordinates
double Use double precision coordinates
--plugins PLUGIN

Build C++ plugins individually or in groups. The default is no. In the evaluation version of UNIGINE SDK, some plugins cannot be rebuilt.

no Do not build plugins
all Build all available plugins
Oculus Plugin for the Oculus Rift virtual display
SpiderVision SpiderVision plugin
Separate Separate plugin
Surround Surround plugin
OpenVR OpenVR plugin
Varjo Varjo plugin
FbxImporter FbxImporter plugin
CadImporter CadImporter plugin
GPUMonitor GPUMonitor plugin
Interface Interface plugin
LeapMotion LeapMotion plugin
OpenFlight Import plugin for OpenFlight
Steam Plugin for Steam integration
Syncker Plugin for Multi-channel rendering synchronization
Kinect Kinect2 plugin
VrpnClient VRPN plugin
ARTTracker ARTTRACK plugin
Geodetics Geodetics plugin

Plugins are specified in the following way:

Shell commands
--component plugins --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 Build all available tools
Archiver Archiver tool
Interpreter Interpreter tool
Resource Resource tool

Tools are specified in the following way:

Shell commands
--component tools --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 Do not use
sse Use SSE technology
sse2 Use SSE2 technology
avx Use AVX technology
--vs VS

Version of Visual Studio build tools to be used. The default is v143.

v143 Use VS2022, build tools v143 (recommended)
v141 Use VS2017, build tools v141
v140 Use VS2015, build tools v140
--jobs JOBS

Perform parallel compilation. An argument specifies the number of parallel building jobs to be run. The default is all.

all Use all available CPU cores to run the building jobs
1 Use 1 thread
2 Use 2 threads
3 Use 3 threads
4 Use 4 threads
6 Use 6 threads
8 Use 8 threads
16 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.
--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.
--sample List of samples separated by spaces.
--verbose Enable verbose output.
--dry-run Print commands without building.
--batch Batch mode for msvc compiler.
--watermark Watermark type.

no Do not use any additional features.
evaluation Enable the TELNET terminal.
confidential Use the password. The <UnigineSDK>/source/engine/password.resource file should be created by using the Resource tool before rebuilding.
default Include microprofile - tiny third-party profiler with web integration.
--cmake_gen Cmake generators.
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 all C++ samples, type:

Shell commands
<UNIGINE_SDK>\source\build.py --component samples

To build all C# samples, type:

Shell commands
<UNIGINE_SDK>\source\build.py --component samples --sample cs_all

To build a specific sample, you need to indicate its name, as well. For example, for a C# sample:

Shell commands
<UNIGINE_SDK>\source\build.py --component samples --csharp --sample <sample_name>

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

Shell commands
<UNIGINE_SDK>\source\build.py --component plugins --plugin GPUMonitor
Last update: 2024-08-16
Build: ()