Forum
Docs (2.6)
Unsupported SDK
UNIGINE Future
(Unsupported SDK)
UNIGINE 2.19 (Latest)
(Unsupported SDK)
UNIGINE 2.18.1
(Unsupported SDK)
UNIGINE 2.18
(Unsupported SDK)
UNIGINE 2.17
(Unsupported SDK)
UNIGINE 2.16.1
(Unsupported SDK)
UNIGINE 2.16
(Unsupported SDK)
UNIGINE 2.15.1
(Unsupported SDK)
UNIGINE 2.15
(Unsupported SDK)
UNIGINE 2.14.1
(Unsupported SDK)
UNIGINE 2.14
(Unsupported SDK)
UNIGINE 2.13
(Unsupported SDK)
UNIGINE 2.12
(Unsupported SDK)
UNIGINE 2.11
(Unsupported SDK)
UNIGINE 2.10
(Unsupported SDK)
UNIGINE 2.9
(Unsupported SDK)
UNIGINE 2.8
(Unsupported SDK)
UNIGINE 2.7.3
(Unsupported SDK)
UNIGINE 2.7.2
(Unsupported SDK)
UNIGINE 2.7.1
(Unsupported SDK)
UNIGINE 2.7
(Unsupported SDK)
UNIGINE 2.6.1
(Unsupported SDK)
UNIGINE 2.6
(Unsupported SDK)
UNIGINE 2.5
(Unsupported SDK)
UNIGINE 2.4.1
(Unsupported SDK)
UNIGINE 2.4
(Unsupported SDK)
UNIGINE 2.3.1
(Unsupported SDK)
UNIGINE 2.3
(Unsupported SDK)
UNIGINE 2.2.1
(Unsupported SDK)
UNIGINE 2.2
(Unsupported SDK)
UNIGINE 2.1.1
(Unsupported SDK)
UNIGINE 2.0
(Unsupported SDK)
UNIGINE 1.0
(Unsupported SDK)
Show older versions >>|Hide older versions <<
Learn
Unsupported SDK
UNIGINE 2.19
(Unsupported SDK)
UNIGINE 2.18.1
(Unsupported SDK)
UNIGINE 2.17
(Unsupported SDK)
Show older versions >>|Hide older versions <<
Select Your Language
The documentation is translated into these languages automatically, so its text may contain inaccuracies and errors.
English
Русский
中文
Français
Deutsch
日本語
한국어
Español
Português
Italiano
Türkçe
Svenska
Suomi
Dansk
Nederlands
Norsk
हिन्दी
Tiếng Việt
Bahasa Indonesia
Polski
Limba Română
Magyar
Cрпски
Slovenčina
Slovenščina
Hrvatski
Český
Bosanski
Македонски
Български
Sign in
This page has been translated automatically.
Click here to view the original English version instead.
in API
Not found
Getting Started
What's Inside?
Project Workflow
Programming Quick Start
1. Basic Scene Objects and Coordinate System
2. Logging and Printing Messages to Console
3. Saving and Loading a World
4. Closing the Application
5. Working with Smart Pointers
6. Creating and Deleting Nodes at Runtime
7. Creating and Setting Up a Camera
8. Creating and Setting up Light Sources
9. Creating, Applying and Deleting Materials at Runtime
10. Managing Existing Scene Objects
11. Performing Basic Transformations (Move, Rotate, Scale)
12. Making It in Time
13. Managing Intersections
14. Getting and Managing User Inputs
15. Implementing Game Logic and Using Properties
16. Creating User Interface
Basic Tutorial: Importing FBX Model
System Requirements
Principles of Operation
Virtual World Structure
World Management
Rendering
Rendering Sequence
Scattering
PSSM
Temporal Anti-Aliasing
Alpha Blending
Output Modes
Stereo Rendering
NVIDIA 3D Vision Output with App3DVision Plugin
NVIDIA 3D Vision Surround Output with App3DSurround Plugin
Separate Images Output with AppSeparate Plugin
Quad Buffered Stereo Support
Oculus Rift Output with AppOculus Plugin
HTC Vive Output with AppVive Plugin
Multi-Monitor Rendering
Video Wall Output with AppWall Plugin
3 Monitor Output with AppSurround Plugin
Panoramic Rendering
Projections with AppProjection Plugin
Physics
Physical Bodies
Cloth Body
Dummy Body
Fracture Body
Path Body
Ragdoll Body
Rigid Body
Rope Body
Water Body
Shapes
Collision Detection
Joints
Simulation of Physics
Bit Masking
File System
SDK Browser
Projects
Licenses
Add-Ons
Game Framework Add-On
Kinect2 Add-On
Tutorials Content Add-On
Vegetation Add-On
VRPN Add-On
UnigineEditor
Overview
Controls
Managing Worlds
Scene Navigation
Setting Up Cameras
Importing Nodes
Selecting and Positioning Nodes
Organizing Nodes
Exporting Nodes
Rendering Settings
Common
Parameters
TAA
Global Illumination
SSAO
SSGI
Bent Normal
SSS
SSR
Water
Clouds
Environment
Postprocess
Motion Blur
DOF
Camera Effects
Color
Setting Up Materials
Setting Up Properties
Setting Up Physics
Terrain Editor
Terrain Grabber
Landscape Tool
System Menu
Video Grabber
Mask Editor
Tools Panel
LUT Generation Tool
Plugins
Collada Import Plugin
OpenFlight Import Plugin
Importing Large Populated Areas with City Import Plugin
Making Environment Look Realistic with Randomizer Plugin
Exporting Nodes with Node Export Plugin
Baking Meshes into One Mesh with Mesh Combiner Plugin
Interface Plugin
Making Custom Editor Plugins
Tools
Plugins for 3D Editors
Plugins for 3ds Max
Plugins for Maya
Performance Profiling Tools
Performance Profiler
Microprofile
ResourceEditor
MeshViewer
NormalCombiner
NormalMapper
AmbientMapper
AlphaMapper
ImageDDS
ImageTTF
USC Interpreter
Tileset File
Archiver
Resource
MeshImport
Upgrade Script
Built-in Node Types
Nodes
Node
Node Reference
Dummy Node
Layer
Pivot
Trigger
Objects
Dummy Object
Static Mesh
Skinned Mesh
Dynamic Mesh
Mesh Cluster
Mesh Clutter
Terrain
Terrain
Terrain Material
Global Terrain
Global Terrain Details
Text Object
Water
Global Water
Water Mesh
Sky
Cloud Layer
Grass
Grass Settings
Tutorial: Adding Grass
Billboards
Stars Generator for Billboards
GUI Objects
GUI
GUI Mesh
Effects
Particle System
Volumetric Objects
Volume Box
Volume Sphere
Volume Omni
Volume Projected
Fields
Field Spacer
Field Animation
Field Height
Field Shoreline
Field Weather
Physicals
Physical Wind
Physical Force
Physical Noise
Physical Water
Physical Trigger
Decals
Projected Decal
Orthographic Decal
Mesh Decal
Light Sources
Light Sources Parameters
Omni Light
Projected Light
World Light
Environment Probe
Geodetics
Geodetic Pivot
World Objects
World Layer
Sector
Portal
World Trigger
World Cluster
World Clutter
Switcher
Occluders
Occluder
Occluder Mesh
Occluder Terrain
Transforms
Transform Path
Transform Bone
World Expression
Sound Objects
Sound Source
Sound Reverb
Pathfinding Objects
Navigation Areas
Navigation Sector
Navigation Mesh
Obstacles
Obstacle Box
Obstacle Sphere
Obstacle Capsule
Players
Player Actor
Player Dummy
Player Persecutor
Player Spectator
Programming
Fundamentals
Programming Overview
Engine Architecture
Execution Sequence
Where to Put Your Code: Update(), Flush() or Render()
Logic System
Typical Architecture of a Unigine-Based Application
Memory Management
Matrix Transformations
Setting Up Development Environment
Windows Development Environment
Linux Development Environment
OS X Development Environment
Usage Examples
Basic Object Movements
Creating and Attaching a Cloth
Creating a Car with Suspension Joints
Creating Mirrors Using Viewports (Rendering to Texture) or Materials
A Simple Mechanism Using Joints
Creating Routes
Creating Pylons and Wires Using Ropes
Dynamic Meshes
Enabling Selective Surface-Based Collision
Intersections
Mesh Class
Working with Console
Sharing Data
UnigineScript
Creating UnigineScript Application
Adding Scripts to the Project
The Language
Structure of a Program
Data Types
Operators
Control Statements
Selection Statements
if-else
switch-case
Iteration Statements
for
while
do-while
forloop
foreach
foreachkey
Jump Statements
return
goto
break
continue
Other Statements
yield
wait
call()
thread()
Containers
Functions
Scope. Namespaces
Object Oriented Programming
Interface Class
Preprocessor Directives
Templates
Language Features
String Global Functions
Script Debugging
High-Level Systems
UnigineScript Basic Utilities
Unigine::Widgets
User Interfaces for Unigine::Widgets
Unigine::Tracker
Parameters Tracks
How-Tos for Tracker
Running Tracker in Game
Input System
Character System
KeyLine System
Dialogs Script
Game Framework
Overview
Structure
Editor Plugin
Run-time
Function Library
Framework System Script
Game Namespace
MasterGame Class
Framework World Script
EntityData Class
LevelData Class
GameData Class
Run-Time Classes
Game Class
Level Class
Entity Class
EntityPool Class
LogicModules Class
Field Class
Fields Class
Scheduler Class
FrequencyGroup Class
EventSystem Class
GameEvent Class
GameCallback Class
City Traffic
Roads
Cars
Importing Cars to City Traffic
Adding Materials to Cars
Drivers
Pedestrians
Traffic Manager
Samples
Objects
billboards_00
billboards_01
billboards_02
billboards_03
cluster_00
cluster_01
dynamic_00
dynamic_01
dynamic_02
dynamic_03
dynamic_04
dynamic_05
gui_00
gui_01
gui_02
gui_05
gui_06
gui_07
clutter_00
clutter_01
clutter_02
particles_00
particles_01
particles_02
particles_03
particles_04
particles_05
grass_00
grass_01
grass_02
grass_03
mesh_00
mesh_01
mesh_02
Plugins
app_oculus_00
app_surround_00
app_surround_01
app_wall_00
gpu_monitor_00
renderer_00
sixense_00
ssl_socket_00
ssl_socket_01
Cache Files
C++
Creating C++ Application
Creating C++ Plugin
Integration Samples
Unigine Integration into SDL Application
Unigine Integration into Qt Application
C++ Usage Examples
Library's Namespace
Variable Export
Constant Export
Function Export
Class Export
Data Structure Export
Callbacks
Serialization
App Class
UnigineScript Containers
C++ Plugins
CIGI Protocol Support via CigiClient Plugin
Implementing CIGI Client Logic for a Custom Project
Secure SSL Connection via SSLSocket Plugin
Syncker Plugin
Syncker-Specific Options
Implementing Syncker Logic for a Custom Project
GPU Monitoring with GPUMonitor Plugin
Renderer Customization via Renderer Plugin
C#
Creating C# Application
C# API Reference
C# Integration Samples
Application with Direct3D11 via SlimDX Library
Application with Direct3D11 via SharpDX Library
Application with OpenGL via OpenTK Library
C# Usage Examples
Callbacks
UnigineScript Containers
Variable Export
Plugin Class
Package Class
Widget Dialog
UUSL (Unified UNIGINE Shader Language)
UUSL Keywords
UUSL Common Intrinsic Functions
UUSL GBuffer Structure
UUSL Data Structure
UUSL Parameters
UUSL Textures
UUSL Semantics
UUSL Tessellation
UUSL Compute Shaders
Creating a Custom Shader for Deferred Rendering Pass
Creating a Custom Shader for Forward Rendering Pass
Creating a Custom Shader for Post-Processing
File Formats
Mesh File Formats
Materials Files
Base Material File Format
User Material File Format
Property File Format
Startup Command-Line Options
Console
Configuration File
Rebuilding the Engine and Tools
Rebuild in Windows via Visual Studio
Rebuild in OS X via Xcode
Semi-automatic Compilation with Build Script
Manual Compilation with SCons
Preprocessor Macros for Rebuilding the Engine
Protecting Your Data with a Password
GUI
UI Files
Containers
Widgets
Localization
RC Files
Skin Layout
Usage Example
Double Precision Coordinates
Usage
Performance Analyzer
How to Generate Shader Cache
API
Containers
Container Functions
ArrayMap Classes
ArrayMap Class
ArrayMap::Iterator Class
ArrayVector Class
Map Class
Set Class
Tree Classes
Tree Class
Tree::ConstIterator Class
Tree::Iterator Class
Vector Classes
Vector Class
Vector::ConstIterator Class
Vector::Iterator Class
Common Functionality
Async Class
Atomiclock Class
Blob Class
CallbackBase Class
Checksum Class
Compress Class
ConsoleVariableFloat Class
ConsoleVariableInt Class
ConsoleVariableString Class
Expression Class
ExternClass Class
FunctionBase Class
Image Class
Interpreter Class
Json Class
Log Class
Logic Classes
EditorLogic Class
SystemLogic Class
WorldLogic Class
OS Functions
Path Class
Plugin Class
Property Class
Ptr Class
Reflection Class
RegExp Class
Resource Class
Stream Class
String Class
System Functions
Thread Class
Timer Class
TypeInfo Class
Unigine Namespace Items
Utils Class
Xml Class
Variable Class
Controls-Related Classes
Controls Class
ControlsApp Class
ControlsDummy Class
ControlsJoystick Class
ControlsSixAxis
ControlsXPad360 Class
Engine-Related Classes
App Class
Config Class
Console Class
Editor Class
Engine Class
EnginePtr Class
engine.system Functions
EnginePlugins Class
Game Class
GameIntersection Class
Memory Class
Profiler Class
Properties Class
Sound Class
Sounds Class
Splash Class
Visualizer Class
World Class
Filesystem Functionality
Dir Class
File Class
Filesystem Class
AsyncQueue Class
File System Functions
Package Class
PackageUng Class
UGUID Class
GUI-Related Classes
Gui Class
UserInterface Class
Widget Class
WidgetButton Class
WidgetCanvas Class
WidgetCheckBox Class
WidgetComboBox Class
WidgetDialog Class
WidgetDialogColor Class
WidgetDialogFile Class
WidgetDialogImage Class
WidgetDialogMessage Class
WidgetEditLine Class
WidgetEditText Class
WidgetExternBase Class
WidgetExtern Class
WidgetGridBox Class
WidgetGroupBox Class
WidgetHBox Class
WidgetHPaned Class
WidgetIcon Class
WidgetLabel Class
WidgetListBox Class
WidgetManipulator Class
WidgetManipulatorRotator Class
WidgetManipulatorScaler Class
WidgetManipulatorTranslator Class
WidgetMenuBar Class
WidgetMenuBox Class
WidgetScroll Class
WidgetScrollBox Class
WidgetSlider Class
WidgetSpacer Class
WidgetSpinBox Class
WidgetSprite Class
WidgetSpriteNode Class
WidgetSpriteShader Class
WidgetSpriteVideo Class
WidgetSpriteViewport Class
WidgetTabBox Class
WidgetTreeBox Class
WidgetVBox Class
WidgetVPaned Class
WidgetWindow Class
Math Functionality
Predefined Constants
Bounds-Related Classes
BoundBox Class
BoundFrustum Class
BoundSphere Class
WorldBoundBox Class
WorldBoundFrustum Class
WorldBoundSphere Class
Geometry Class
Math Common Functions
Math Exponential Functions
Math Matrix Functions
Math Random Functions
Math Trigonometrical Functions
bvec4 Class
dmat4 Class
dvec2 Class
dvec3 Class
dvec4 Class
half Class
hvec2 Class
hvec3 Class
hvec4 Class
ivec2 Class
ivec3 Class
ivec4 Class
mat2 Class
mat3 Class
mat4 Class
quat Class
vec2 Class
vec3 Class
vec4 Class
Node-Related Classes
Node Class
NodeDummy Class
NodeExtern Class
NodeExternBase Class
NodeLayer Class
NodePivot Class
NodeReference Class
NodeTrigger Class
Decals-Related Classes
Decal Class
DecalMesh Class
DecalOrtho Class
DecalProj Class
Field-Related Classes
Field Class
FieldAnimation Class
FieldHeight Class
FieldShoreline Class
FieldSpacer Class
FieldWeather Class
Geodetics-Related Classes
Ellipsoid Class
Dataset Class
DatasetRasterPosResolver Class
GeodeticPivot Class
Lights-Related Classes
Light Class
LightEnvironmentProbe Class
LightOmni Class
LightProj Class
LightWorld Class
Objects-Related Classes
Object Class
ObjectBillboards Class
ObjectCloudLayer Class
ObjectDummy Class
ObjectDynamic Class
ObjectExtern Class
ObjectExternBase Class
ObjectGrass Class
ObjectGui Class
ObjectGuiMesh Class
ObjectIntersection Class
ObjectIntersectionNormal Class
ObjectIntersectionTexCoord Class
ObjectMeshStatic Class
ObjectMeshCluster Class
ObjectMeshClutter Class
ObjectMeshDynamic Class
ObjectMeshSkinned Class
ObjectParticles Class
ObjectSky Class
ObjectTerrain Class
ObjectTerrainGlobal Class
TerrainGlobalDetail Class
TerrainGlobalLod Class
TerrainGlobalLodHeight Class
TerrainGlobalLods Class
TileSet Class
TileSetFile Class
ObjectText Class
ObjectVolumeBox Class
ObjectVolumeOmni Class
ObjectVolumeProj Class
ObjectVolumeSphere Class
ObjectWaterMesh Class
ObjectWaterGlobal Class
Players-Related Classes
Player Class
PlayerActor Class
PlayerDummy Class
PlayerPersecutor Class
PlayerSpectator Class
Sound Nodes-Related Classes
AmbientSource Class
SoundReverb Class
SoundSource Class
World Nodes-Related Classes
WorldCluster Class
WorldClutter Class
WorldExpression Class
WorldExternBase Class
WorldExtern Class
WorldIntersection Class
WorldIntersectionNormal Class
WorldIntersectionTexCoord Class
WorldLayer Class
WorldOccluder Class
WorldOccluderMesh Class
WorldOccluderTerrain Class
WorldPortal Class
WorldSector Class
WorldSplineGraph Class
SplineGraph Class
WorldSwitcher Class
WorldTransformBone Class
WorldTransformPath Class
WorldTrigger Class
Networking Functionality
Socket Class
Pathfinding-Related Classes
Navigation Class
NavigationMesh Class
NavigationSector Class
Obstacle Class
ObstacleBox Class
ObstacleCapsule Class
ObstacleSphere Class
PathRoute Class
PathRouteIntersection Class
Physics-Related Classes
Physics Class
PhysicsIntersection Class
PhysicsIntersectionNormal Class
Bodies-Related Classes
Body Class
BodyCloth Class
BodyDummy Class
BodyFracture Class
BodyParticles Class
BodyPath Class
BodyRagDoll Class
BodyRigid Class
BodyRope Class
BodyWater Class
Joints-Related Classes
Joint Class
JointBall Class
JointCylindrical Class
JointFixed Class
JointHinge Class
JointParticles Class
JointPath Class
JointPrismatic Class
JointSuspension Class
JointWheel Class
Physical Nodes-Related Classes
Physical Class
PhysicalForce Class
PhysicalTrigger Class
PhysicalNoise Class
PhysicalWater Class
PhysicalWind Class
Shapes-Related Classes
Shape Class
ShapeBox Class
ShapeCapsule Class
ShapeConvex Class
ShapeCylinder Class
ShapeSphere Class
Plugins-Related Classes
AutodeskImport Class
ColladaImport Class
OpenFlightImport Class
engine.grabber Functions
engine.kinect Functions
engine.oculus Functions
engine.projection Functions
engine.surround Functions
engine.vive Functions
engine.wall Functions
CIGI Client Plugin
CIGI Client interface
IArticulatedPart Class
IComponent Class
IEntity Class
IViewBase Class
IView Class
IViewGroup Class
ICigiHostPacket Class
ICigiArticulatedControl Class
ICigiArticulatedShortControl Class
ICigiAtmosphereControl Class
ICigiCelestialControl Class
ICigiComponentControl Class
ICigiComponentShortControl Class
ICigiEntityControl Class
ICigiEntityClampedControl Class
ICigiEnvironmentControl Class
ICigiIGControl Class
ICigiMaritimeControl Class
ICigiRateControl Class
ICigiSensorControl Class
ICigiTerrestrialControl Class
ICigiTrackerControl Class
ICigiViewControl Class
ICigiWaveControl Class
ICigiWeatherControl Class
ICigiViewDef Class
ICigiEarthModelDef Class
ICigiSegmentDef Class
ICigiTrajectoryDef Class
ICigiVolumeDef Class
ICigiHatHotRequest Class
ICigiIGPacket Class
ICigiStartOfFrame Class
ICigiAerosolResponse Class
ICigiHatHotResponse Class
ICigiHatHotExtResponse Class
ICigiLosResponse Class
ICigiLosExtResponse Class
ICigiMaritimeResponse Class
ICigiPositionResponse Class
ICigiSensorResponse Class
ICigiSensorExtResponse Class
ICigiTerrestrialResponse Class
ICigiWeatherResponse Class
Interface Plugin
InterfaceWindow Class
Engine Interface Class
Syncker Plugin
ManagerInterface Class
SynckerInterface Class
MasterInterface Class
SlaveInterface Class
VRPN Plugin
VrpnAnalogDevice Class
VrpnButtonDevice Class
VrpnTrackerDevice Class
Rendering-Related Classes
Camera Class
Ffp Class
Material Class
Materials Class
Mesh Class
Primitives Class
Render Class
RenderEnvironmentPreset Class
Renderer Class
RenderContext Class
RenderState Class
Shader Class
StructuredBuffer Class
Texture Class
TextureRender Class
Viewport Class
Content Creation
3D Models Requirements
Art Assets Conversion
Content Optimization
Materials
Hierarchy and Inheritance
Built-in Base Materials
billboards_base
billboards_cloud_base
billboards_impostor_base
clouds_base
decal_base
grass_base
grass_impostor_base
gui_base
mesh_base
Physically Based Materials
particles_base
render_composite
sky_base
terrain_base
terrain_global_base
volume_cloud_base
volume_fog_base
volume_light_base
volume_omni_base
volume_proj_base
volume_shaft_base
water_global_base
Postprocess Materials
post_blur_radial
post_filter_rgb2rgbl
post_filter_rgb2yuv
post_filter_sobel
post_filter_wet
post_hblur_2d
post_sensor
post_vblur_2d
post_hblur_mask
post_vblur_mask
post_hblur_cube and post_vblur_cube
Custom Materials
Tutorials
Adding Morph Targets
Setting Up Object LODs
Adding Impostors to Clutters
Unigine Demos
Port Angeles Workflow
Port Angeles Setups
Migrating to UNIGINE 2.6
API Migration
Console Migration
Content Migration
Table of Contents
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
.
No
language
code for this page. You can select other language.
C++
C#
UnigineScript
No
language
code for this page,
shown in
other
instead.
Double
Copy
Programming
UnigineScript
The Language
Control Statements
Selection Statements
Selection Statements
Articles in This Section
if-else
switch-case
Last update: 2017-10-20
Help improve this article
Was this article helpful?
Yes
No
0
out of
0
users found it helpful
Report a problem related to this article
(or select a word/phrase and press Ctrl+Enter)
You have already voted
What kind of problem related to this article would you like to report?
Type :
Missing information
Incorrect information
Unclear or confusing information
Spelling or grammar error
Code samples do not work
Code samples are needed
Other
Details *:
Login
Email:
Password:
Forgot your password?
Build: ()
We use cookies to ensure that we give you the best experience on our website. Click
here
for more information.
Got it