This page has been translated automatically.
The Language
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
API Reference
Integration Samples
Usage Examples
C++ Plugins
Content Creation
This version of documentation is OUTDATED! Please switch to the latest one.


Unigine represents its own material system: all of the materials are organized in libraries and form materials hierarchy.

A material is a set of properties (states, options, parameters) and assets (2D, 3D textures), described in a .mat text file and associated with a particular object surface. A material refers to fragment, vertex and geometry shaders, describing how the material will look like. Shaders are written in the .shader files. Two shading languages, GLSL and HLSL, are used to write shaders.

As Unigine uses its own material system, you cannot use the material provided by any third-party application. To create your own material, you need to inherit from one of the base materials and adjust it. A built-in material library is quite big and contains most of the frequently asked materials, but you can also create a brand new one.

  • See the Hierarchy and Inheritance article to know more about how materials are organized
  • See how to create a custom material library and assign a material to the mesh here
  • See the Inherit a Material section to know how to inherit a material from the base one
  • See the Material File Format article to know more about a material, a .mat file and its connection with the .shader file
  • See the Custom Materials article to know basics of a new material creation
Last update: 2017-07-03
Build: ()