Release Information and Upgrading Projects

Substance in Unity

2.2.2 Release notes

release date: 2/11/2019

Core Plugin:

- Fixed a bug where the Unity default texture GUI was being overwritten when the Substance In Unity plugin was installed
- Fixed a bug where EditorApplication.delayCall being set caused issues with other plugins
- Fixed a crash that occurred when using non-latin characters in a project name

2.2.0 Release notes

release date: 1/10/2019

Core Plugin:

  • Updated Substance Engine

  • Improved code stability

  • Unity 2018.3 support

  • .NET 4.x support

  • Substance Source support in 2018.3

  • Substance Source coloring issue has been fixed

  • The graph, and corresponding material, now have the same object name

  • Added Unity Pro skin GUI readability improvements

  • Added support for material's output assignments

  • Fixed a bug with sRGB handling

  • Fixed a bug where an user could could delete all instances of a graph

  • Fixed a bug where attempting to render Substances while changing parameters at runtime would only cause two to be able to rendered at a time

  • When importing a package that contains old Substance files, the plugin will now let the user know that it contains old Substance data and delete the package files when Unity is attempting to import them (this is so the user does not have to delete everything manually if it came in broken)

  • Added an 'About' button in the Substance menu to show Substance plugin related build information

  • Added mouse-over tooltips in the Substance GUI to show exposed Substance parameter names

  • Added Navigation buttons in the Substance GUI to link to Substance graph and materials

  • Added new icons for the Substance graph/material/textures in the Content Browser

  • Updated the Substance thumbnails in the content browser

  • Removed the .mat from the front of Substance material names

  • Added the ability to rename Substance graphs and materials

  • When changing Substance graph resolution, the apply/revert popup will no longer appear forcing the user to commit the change at that moment

  • Fixed a bug where the Reflection process would only use the default Substance resolution, instead of one defined by the user

  • Added a mouseover warning to the Substance GUI that informs the user if the color space is set to Gamma

  • Changed functionality of Substance graph instances: Users can now create graph instances in a Substance without being prompted for each created instance in the Substance graph GUI


  • We have hidden some functions not meant for script support

  • Added function to duplicate Substance graph instances through script: Duplicate()

  • Added function to query procedural input information via C#, returns an array of 'InputProperties' elements: GetInputProperties()

  • Added function to check if an input exists in a graph, returns true/false: HasInput(string inputName)

  • Added function to check if a visibleif input is visible, returns true/false: IsInputVisible(string inputName)

  • The rendering scheme has been re-designed. As such, RenderSubstancesAsync() has been deprecated, this has been changed to graphName.RenderAsync()

Known Issues:

Core Substance Plugin

  • User must disable 'Enable Bitcode' in the Build Settings menu in Xcode to build for iOS

  • Substance object previews in the Content Browser show up black when the build target is set to Android/iOS

  • The Alpha button and Mip Map preview slider are missing on the non-Substance texture GUI after importing the Substance plugin

  • The user has to use powers of two to define a Substance graph resolution through script

  • Substance materials are not persistent when exported/imported using a Unity package

  • Substances do not work with Asset Bundles

  • Substance preview icons in the Asset Browser all change to the Substance S icon after a reimport

  • Renaming a Substance graph that has a material in the scene will remove that material from the objects it is placed on

  • (Mac only) Updating the plugin on Mac removes Substance materials from prefabs in the scene|

  • Scripting does not work at runtime if the project is set to x86 in the build settings

  • Issues using il2cpp scripting backend with certain build platforms

Substance Painter Live Link

  • Building a project after painting with Substance Live Link will set the painted mesh back to a default material

  • AO channel not sent with Painter live link

  • Meshes with multiple materials do not work in Unity Live Link

  • The way Unity LiveLink uses SimpleJson clashes with other instances of SimpleJson in a project

The Substance in Unity plugin is using a new plugin architecture. Because of this, Substance materials or projects created in Unity 2017.x, that have not been upgraded for use in the new 2.x plugin, will not work. Please see the following processes for upgrading projects and Substance materials. 

Upgrading Projects from Unity 2017.x or prior

The 2.1.0 update has greatly improved the reflection process (project upgrade from 2017-2018). Follow these steps to upgrade from Unity 2017 to 2018.x. 

  1. Open the Unity 2017 project with Unity 2018 and go through the Unity update process.
  2. Import the new Substance plugin package.
  3. Save the project/scene. This project is now updated all Substance materials for use in the new plugin architecture. 

Upgrading Substance Materials from Asset Store Packages

If a package containing Substance materials has not been updated to work in the 2.x plugin, you will need to run through the reflection process to update the Substance materials. The process is similar to upgrading legacy projects in that the data from the legacy plugin needs to be updated to the new 2.x architecture. For example, importing content from the Asset Store, where the Substance materials have not been updated to the 2.x plugin will not work. 

There are two scenarios:

  1. Starting from 2017 and opening the project in 2018. Importing the Substance plugin will update all substances. 
  2. You already have a 2018 project and are importing a package that contains Substance materials (from Asset Store) that have not been updated for use in the new plugin (Substance materials using the 2017 integration or previous versions). In this case, you will need to follow these steps:
    1. Create a Unity 2017 project and import the package containing the legacy Substance materials. 
    2. Save the 2017 project and open it Unity 2018.
    3. Import the Substance in Unity plugin from the Unity Asset store. Once the new Substance in Unity plugin has been imported, all Substance materials will be updated. 
    4. From here, you can export any Substance materials as a package to be used in any 2018 project as the Substance materials will have been fully updated for use in the new 2.x plugin. 
    5. If you are creating a package from the newly updated Substance materials, be sure you do not include the Allegorithmic folder. 

Submitting Bugs and Feedback

If you find a bug or would like to submit feature requests and or feedback, please use these forms: 

Bug Submission Form

Feedback Submission Form