Substance in Unity
2.2.2 Release notes
release date: 2/11/2019
- 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
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()
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.
- Open the Unity 2017 project with Unity 2018 and go through the Unity update process.
- Import the new Substance plugin package.
- 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:
- Starting from 2017 and opening the project in 2018. Importing the Substance plugin will update all substances.
- 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:
- Create a Unity 2017 project and import the package containing the legacy Substance materials.
- Save the 2017 project and open it Unity 2018.
- 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.
- 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.
- If you are creating a package from the newly updated Substance materials, be sure you do not include the Allegorithmic folder.