Experimental SDK build: new Node-Based Material Editor (with sample contents)

Recommended Posts

We have released an experimental SDK build to demonstrate work in progress on the new node-based Material Editor that enables you to create your own materials visually without writing a single line of code. 


The experimental build includes a pack of material graph samples created using the new Material Editor to give you a quick overview and demonstrate its features and capabilities.

We appreciate any feedback regarding the functionality, feature-completeness, ease of use of the new tool - together we can make the future production version better!

The production version of the node-based Material Editor is expected in one of the upcoming SDK releases, but not in 2.14. The UI may change, but the workflow shall remain the same. 

If you want to try out the new Material Editor (Community edition):

  1. Click the SDK download link below. Downloading of the experimental SDK build will start automatically. 

    Download link: https://l.unigine.com/sK_PJghek

  2. Once the SDK ZIP-archive is downloaded, unpack its contents to any location on your computer.
  3. Open the SDK Browser. Go to the Products tab, click Add Installed, then browse to the location of the unpacked SDK and click Select Folder. The SDK will be added.
  4. Make this SDK default by clicking the Make Default button.
  5. Follow the link below to download the materials samples pack (as a ZIP-archive):

    Download link: https://l.unigine.com/shadergraph_samples

  6. Once the samples pack is downloaded, create a new project and unpack the contents of the ZIP-archive to the data folder of your new project.
  7. Open your project in the UnigineEditor and use the Asset Browser to locate the material_editor_samples folder in your project's data folder.

Now you're ready to start exploring the new Material Editor, open worlds and check out all the samples. For your convenience, we have also prepared a special section in the documentation explaining key aspects and giving a brief description for each of the samples.  

Here is a quick video guide through all the steps listed above:

If you have a Community Pro, Engineering, or SIM edition, to try out the new Material Editor please submit a request (containing your UNIGINE account name) in one of the following ways:

  • via a private message to s1lent (Discord)
  • via a private message to silent (Unigine forum)

Once your request is processed you’ll get a reply with all necessary instructions on downloading and installing the build.

Graph Samples






Link to post

Known Issues

  • Material Editor is available only for RELEASE binaries.
  • Crash on connecting an edge from any node to the Destruct node.
  • Crash on an attempt to set a new value to a swizzle via the Selection window.
  • Crash on an attempt to save a currently opened material graph, after deleting the corresponding *.mgraph asset in the Asset Browser.
  • Crash on generating material from an *.mgraph asset stored in a read-only mount.
  • Crash on saving a graph containing more than one Final Material node.
  • Names assigned via the Material Editor (for nodes, ports, etc.) cannot contain spaces, this may lead to shader compilation errors, and the material won’t be rendered.
  • Incorrect mouse positioning when connecting an edge to a port adapter may lead to building up a chain of adapters (swizzles).
  • Modifications made to subgraphs are not reflected in material graphs that use them, you’ll have to close the Material Editor and reopen it again.
  • Cloning nodes creates copies having the same names, to ensure proper graph functioning you have to change names manually.
  • Quick double-click on an *.mgraph asset opens the Material Editor and triggers a rename operation.
  • Issues with the Delete key when editing port adapters (swizzles), use Backspace instead.
  • Division by zero does not raise an error when a value is passed to the divisor port via an adapter (swizzle) containing a variable. 
  • Object’s wireframe is not rendered on materials generated from graphs.
  • LOD fading does not work properly for materials generated from graphs.
  • Shadows for materials generated from graphs ignore alpha test.
  • Zooming out does not take the mouse cursor’s position into account.
  • All disabled scriptable materials added to the global list via the Settings window in the UnigineEditor become enabled on opening the Material Node Editor.
Link to post
  • binstream changed the title to Experimental SDK build: new Node-Based Material Editor (with sample contents)


This looks really great!

I quickly browsed the samples, but couldn't find a way to simulate these:

  • a multi-layered material, such as a car paint or an oiled surface
  • the "wire" geometry inflation
  • a way to move vertices (not tessellation+displacement, just moving vertices)


Link to post

Hi Stephane, That's the beauty of Node-based shader editor graph, you can implement you own materials easily and don't wait until the next SDK release :)



a way to move vertices (not tessellation+displacement, just moving vertices)

Right now vertices movement via texture isn't working. You can get the identical results via displacement.

Car-paint should be easy to add, but it may have some noise artifacts in motion. Will see how it goes.

Wires can be done via vertex positions I guess


How to submit a good bug report
FTP server for test scenes and user uploads:

Link to post

As a first immediate use case, I'm trying to recreate my "long cable" shader. This one uses the wire modifier to ensure the cable has always a minimum screen thickness, and its opacity is a function of the distance to the camera (like fully opaque from 0-100, then some fct to fully transparent at 4km).

At the moment, I can't find a way to access the fragment position. There is a "Position" and "ScreenPosition" but I don't quite get how to use them.

Also, the "wire" thing is a but obscure to me, how to use a displacement to do that without creating a gazillion of tiny-tiny polygons over 4km...

Link to post

I will try to make a graph for this material and give you screenshot of it. Mb vertex position is broken now.

Link to post