UnigineScript
The Language
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
Samples
C++ API
API Reference
Integration Samples
Usage Examples
C++ Plugins
Content Creation
Materials
Unigine Material Library
Tutorials

Getting Started

What Is Unigine

Unigine engine is a complete 3D platform for creation of fully interactive virtual worlds. This powerful and extremely flexible solution is used for game development, real-time simulation (military, transportation, training, etc.) and visualization (architecture, media installations).

Moreover, it is a cross-platform solution available on a broad range of platforms:

  • From low-end to high-end PCs (Windows, Linux, Mac OS X)
  • Mobile devices (iOS, Android)
  • Consoles (PlayStation 3)

For more details, see hardware requirements.

What Is Inside

Unigine is an all-in-one solution with the following subsystems ready to be used out of the box:

Renderer Photorealistic graphics and effects of stunning visual quality:
  • Tessellation, real-time global illumination, DOF with bokeh effect and much more
  • Multiple APIs: DirectX 9, DirectX 11, DirectX 11 of DirectX 9 feature level, OpenGL, OpenGL ES, PS3
  • Cinematic post-processes
  • Flexible material system with inheritance support for convenent editing and ultra-fast rendering
  • Support of GLSL and HLSL languages for custom shaders, if necessary
  • Stereo 3D rendering (including NVIDIA 3D Vision, NVIDIA 3D Surround and iZ3D stereo support)
  • Multi-monitor configurations (monitor walls, CAVEs)
  • Panoramas and single or mitti-node projections
Read more

Photorealistic graphics in Valley demo

Various effects in Oil Rush game
Physics Fast multi-threaded physics optimized to be calculated in real-time:
  • Collision detection and rigid body physics
  • Rag dolls
  • Various joints for motors and springs
  • Deformable cloth and rope physics
  • Dynamic destruction of objects
  • Force fields and wind
  • Fluid buoyancy with waves from objects
Read more

World
Management
Effective management of resources in the scene and control of background streaming
  • Completely automatic indoor and outdoor scene management based on BSP trees
  • Dynamic asynchronous data streaming in the background done automatically by the engine
  • Zone-based loading of resources on demand
  • Dynamic worlds merging
  • Double precision coordinates libraries for extremely vast worlds

Resource
Management
Additional easy-to-use rendering optimizations to achieve the best of performance:
  • Flexible LOD system
  • Automatic instancing for meshes and animations
  • Batch rendering of huge number of objects
  • Occluders for complex environment culling
  • Portals and sectors for additional optimization of indoor environments
  • Performance profiler

Built-in
Objects
All you need to do is just add them. These objects are available strait out of the box.
  • Sky with clouds
  • Sun with atmosphere and other types of lights
  • Height map-based terrain
  • Water (ocean, rivers or lakes)
  • Grass
  • Particles
  • Volumetric objects for beams, fog and clouds
And much, much more

Scripting System Powerfull scripting system: write one code for all platforms!
  • Object-oriented programming
  • UnigineScript language with a syntax similar to C++ (*.h and *.cpp files are used for Unigine scripts)
  • Zero compilation time - just reload the world to see changes in effect
  • More than 4000 of functions and classes avaiable
  • Very fast built-in 3D math (vectors, matrices and quaternions)
  • Transparent interconnection with C++ side, if necessary
  • Multi-threading support
  • Regular expressions support
  • Full state saving and restoring
  • Built-in debugger

GUI Comprehensive set of widgets, containers and dialogs, including 3D GUI positioned right in the scene
  • UI files in XML format for easy creation of widgets and their layout
  • Flash-based GUI: add fully interactive menus or HUDs and with just one code line
  • Localization packs support
  • IME support for Eastern languages
  • Unicode (UTF8) and TTF support
  • Easy skin changing
  • Video playback (OGG Theora) widget
  • Multi-monitor GUI plugin for convenient edtiting of worlds

Pathfinding Pathfinding module help you create AI for your project in no time
  • 2D and 3D pathfinding
  • Dynamic obstacle management via masks
  • Pathfinding area prorities
  • Deferred pathfinding calculations for optimal performance

Network Basic real-time networking functionality both in core framework and an additional network plugin
  • RakNet low-level integration plugin (secure connections, NAT punch-through)
  • LAN server discovery
  • Object state replication
  • Trasparent interconnection between network events and UnigineScript
  • UDP and TCP protocols support
  • Telnet protocol support for remote control over Unigine applications (for example, on mobile devices)
Sound Robust sound module with true-to-life audio effects for full immersion experience in your 3D world
  • Unlimited number of 3D sound sources
  • Streaming of sounds
  • Directional and non-directional sounds
  • Doppler effect and distance attenuation
  • Sound occlusion for interaction with environmet
  • Multiple reverberation zones
  • Playback of WAV and OGG files
  • Dolby Digital 5.1 surround sound supported out of the box
Interactivity Create different dynamic interactions in your world with the following systems:
  • Keyframe-based Tracker for adding day-night cycles, creating cinematics and animating interactive objects
  • Gragh-based Skinner for fast animations of characters created using visual blocks
  • Schemer for visual scripting (custom blocks can be added)
  • Triggers fired off when nodes or physical bodies enter/leave a certain area
  • WorldTransform to move an object along the spline
  • WorldTransformBone to attach objects to charater's bones
  • WorldExpression to execute any UnigineScript code snippet within a certain radius
World Editor With WYSIWYG world editor right in your Unigine application you get instant preview with final quality. Tweak settings and make your world shine!
  • Add and manage objects, lights and effects
  • Create and set up materials for objects (material hierarchy is supported)
  • Set up rendering settings
  • Set up and play physics
  • Bake prefabs into NodeReferences. After the prefab is added, you can change one and the other will automatically follow
  • Polish your terrain (for objetcs to fit on it) with built-in terrain editor
  • Optimize and fine tune your project with a performance profiler
  • Try out different viewing modes for content optimization and per rendering pass debugging
  • Modify content on a disk and it will be updated in the editor on the fly
  • Easily customize the editor with your own tools by adding your editor plugins
Content Creation
Toolset
A complete toolsel to export assets, create textures and use your Unigine-powered application to its full advantage
  • Plugins for 3ds Max, Maya and Softimage (import and export of static gemometry, skinned models, etc.)
  • All-purpose texture format converter ImageDDS (with DDS format and mipmaps generation support)
  • ResourceEditor to generate normal, ambient occlusion and height maps for tessellation from high-poly geometry
  • TerrainMesh to create height maps for terrains from meshes or OBJ files
  • Archiver to generate content packs (with encryption supported)
  • FileServer to share data over the network (for easy development on a remote machine or a mobile device)
  • USC interpreter for making Unigine scripts into executable programs
And a lot of more useful utils

Anything Else?

Sure, there is more! In Unigine SDK you will also find:

Code Samples Reusable Content Reference Projects
Unigine SDK comes packed with useful samples that cover most of Unigine engine functionality. This makes adding fetures into your project a simple matter of copy and paste.

  • More than 400 feature usage samples
  • Full source code of Unigine Editor written in UnigineScript
  • Full source code of projects:
    • All Unigine GPU benchmarks (Heaven, Tropics and Sanctuary)
    • Mobile demos (Crypt and Passage)
  • Samples of engine integration into MFC, Qt and SDL applications
  • C++ plugin samples
  • Full source code of all shaders
In Cool library you will find reusable content that is already set up by our artists. It is ready to be used in your projects to make your environment look truly photorealistic.

  • Cool materials library for environment
  • Cool effects library for SFX
  • Cool vegetation library
  • Day-night cycle with set up sky, sun and atmosphere settings in demos
Start with our prototype projects to help organize and manage your exported content and begin coding your world easily. After that, you can pack your own customized prototype - and it's ready to be published.

  • Scratch project for generic project
  • Shooter prototype for a first-person shooter
Last update: 2017-07-03