Skip to main content

Introduction

In the world of game development, creating stunning visuals is key to immersing players in the game world. One of the most important components of achieving visually impressive game graphics is the use of high-quality materials. Substance materials created using the Substance Designer software are popular among game developers due to their flexibility and versatility.

In this article, we will show you how to work with Substance materials in Unreal Engine, one of the industry’s most widely used game engines. We will cover the basics of importing and setting up Substance materials in Unreal Engine and how to adjust and customize them to achieve the desired look for your game. You’ll learn everything you need to know, whether you’re an experienced game developer or a beginner.

Download and install the plugin

By default, Unreal Engine does not support Substance graphs, so trying to import SBS or SBSAR files is not possible. To use the power of procedural Substance materials we need to use an additional plugin for that.

Installing the Substance plugin to Unreal Engine 5 is a straightforward process.

By default, Unreal Engine does not support Substance graphs, so importing SBS or SBSAR files is impossible. We need to use an additional plugin to use the power of procedural Substance materials.

Installing the Substance plugin to Unreal Engine 5 is a straightforward process.

1. Go to the Unreal marketplace to the Substance 3D for Unreal Engine plugin page.

https://www.unrealengine.com/marketplace/en-US/product/substance-plugin

2. Sign in and add a plugin to your account.

3. Launch the Epic Games Launcher and navigate the “Unreal Engine” tab.

4. Click on the “Library” tab from here and select “Installed Plugins.”

5. In the “Installed Plugins” window, search for “Substance” and click the “Install” button next to the Substance plugin.

6. Wait for the plugin to download and install. This may take several minutes, depending on your internet speed.

7. After the installation, open your project Unreal Engine 5, select Project Settings → Plugins, and enable Substance in the UE5 plugin.

8. Restart the project to activate the plugin.

That’s it! You should now have access to Substance materials and tools in Unreal Engine 5. To confirm that the plugin is installed and active, you can go to the “Plugins” tab in the “Edit” menu and ensure that the Substance plugin is checked.

Note that the Substance plugin may not be included in the base installation of Unreal Engine 5 (it often doesn’t support preview versions), so you may need to install it manually from the Adobe website.

https://substance3d.adobe.com/plugins/substance-in-unreal-engine/

Plugin settings

After installation, you can check plugin settings in the Project settings → Plugins.

With a powerful PC, you can increase the number of used CPU cores and switch Substance Engine to GPU.

Here, you can also set up your default output resolution so you won’t need to change it for every asset.

Getting a Substance file

Then, obviously, you need a Substance material. You can get them online, from Adobe Library, or create them yourself. We’ll use one of our materials for this article, available on the Shapernode website. You can get it, too, with other materials for free.

Substance outputs naming

What’s worth noticing here – The Identifier attribute inside the Substance graph is used by the Unreal Engine to determine what is what, so you need to make this parameter match with the Unreal naming scheme. Using spaces and symbols might cause issues, so we highly suggest naming it in one lowercase word.

The label attribute on the opposite side is used specifically for user interaction, so feel free to name it as you want.

Outputs preset

Having a consistent parameter setup is crucial for long-term environment projects. Otherwise, you can easily mess up and spend too much time cleaning your materials and textures.

It’s a good practice to use project or studio-wide systems and templates, especially for substance materials due to their procedural nature.

Create and use your own, or you can download the preset we’ve been using for the past few years.

Create .*SBSAR from *.SBS

So, at this step, we have UE with installed plugin and *.SBS file.

But if you’ll try to import it into your project you’ll notice that *.SBS file is not in the supported files formats list, while *.SBSAR is.

Where and how to get it? Pretty simple – open your *.SBS file in Substance Designer and select “Publish .sbsar file”.

Graphs in Unreal Engine

There are two types of Substance assets in Unreal – Substance Instance Factory (SIF) and Substance Graph Instance (SGI).

Substance Instance Factory is the SBSAR file itself – it holds all the graph logic. When you make any changes in your material graph in the *.SBS file and reexport *.SBSAR, you need to update this asset.

Substance Graph Instance is the instance of Substance Instance Factory — it stores only the parameter values and generates textures.

You can have only one SIF per SBSAR file, but you can instance an unlimited amount of SIGs.

Importing in Unreal Engine

Now, you can finally import material into Unreal Engine.

You can use the standard method by clicking the “Import” button in the Content Browser or drag and drop the file to the Content Browser.

The substance Import Options window will appear. It has just a few options, but all of them are important, so let’s look at them.

Create default instance

Do you want to import a single SGF, or do you also want to create an SFI instance from that? You need at least one SFI to have something you can generate textures from, so in most cases, you need that checked.

Specify the default instance path.

Where SFI will be stored after import.

Notice – SGF will be imported in that folder where you initialed import.

Where to store it?

It highly depends on your style guide for the project or in your studio. So, if you’re working in a team, it’s good to ask where to store different things and how to name them before importing anything into the project.

Logically, it’s always good to keep dependencies close to each other, so in this case, we’ll have a folder specifically for this substance.

Create material

After creating SGF and SFI, a default pack of textures will be generated. Unreal Engine cannot use textures directly on surfaces; you must assign them to the material or instance.

At this step, you can choose whether to use one of the Plugins’ master materials to make a material instance from it and assign textures, use your material, or generate a new one.

Notice – if you choose to use your material, be sure that the naming we discuss above in the Substance Outputs naming section matches overwise; some textures will not automatically be assigned to the created material instance.

Working in Unreal

Finally, you can assign newly created material to your object.

Looks cool, eh? We’re not done yet!

Editing parameters

The most powerful thing in Substance and Unreal integration is that you can tweak your graphs’ exposed parameters on the fly and see applied changes.

How to do it?

Open the Substance Graph Instance related to generated textures and start moving sliders!

Warning!

It might be too enjoyable, so you can lose a decent amount of time playing with it without purpose.

Packed textures

Packaging multiple grayscale textures in different channels is a regular practice for better project optimization. Most graphs can export just a single channel texture, so when you need to have a packed map – you need to pack it in the substance graph and have an additional output.

In our graphs, we call it “UE4 Mixmap”. To enable it — tick the corresponding checkbox in the Graph Instance.

Since it’s not a usual texture, to display it correctly, you need to open generated texture properties, change the compression type from “default” to “masks,” and ensure that the sRGB checkbox becomes unchecked.

Using the power of Substances, you can noticeably reduce your project shader complexity by moving a lot of visual tweaking from Unreal material to Substance itself — it will make shader simpler and will increase performance.

Conclusion

That’s it!

With the steps outlined in this article, you should now understand how to work with Substance materials in Unreal Engine. You can create truly unique and visually stunning virtual worlds by following these steps and experimenting with different Substance materials and settings.

Working with Substance materials in Unreal Engine is a powerful way to create stunning game graphics. By importing and customizing Substance materials in Unreal Engine, you can achieve a level of visual fidelity that would be difficult to achieve using traditional methods. Substance materials offer unparalleled flexibility and versatility, allowing you to create a wide range of effects and styles for your game.

As you continue to work with Substance materials in Unreal Engine, don’t be afraid to experiment and try new things.

 

If you need something to experiment with – check out Substance materials.

 

Enjoy, and do not forget to share your fabulous creations!

Get ahead with CG secrets and exclusive content