• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
1

Newly revamped Substance 3D plugin for Unity

Adobe Employee ,
Mar 09, 2022 Mar 09, 2022

Copy link to clipboard

Copied

Hi everyone!

We are excited to announce that we've released a soft launch of the newly revamped Substance 3D plugin for Unity. The plugin lets users load, apply, and tweak Substance 3D parametric materials directly in Unity.

If you're interested in testing out the plugin, you can download it directly from the Unity asset store: Substance 3D in Unity.

Stay tuned for the official release.

If you have questions or comments, please reach out to us here. Thanks!

TOPICS
Discussion , Unity

Views

6.8K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 25, 2022 Aug 25, 2022

Copy link to clipboard

Copied

Got another major bug, trying to import any preset file in a graph will fail and cause an infinite spam of these two error messages:

ArgumentException: Value does not fall within the expected range.
Adobe.Substance.SubstanceNativeHandler..ctor (System.String filePath) (at Assets/Adobe/Substance3DForUnity/Runtime/Scripts/SubstanceNativeHandler.cs:51)
Adobe.Substance.Engine.OpenFile (System.String path) (at Assets/Adobe/Substance3DForUnity/Runtime/Scripts/Engine.cs:103)
Adobe.SubstanceEditor.SubstanceEditorEngine.InitializeInstance (Adobe.Substance.SubstanceGraphSO substanceInstance, System.String instancePath) (at Assets/Adobe/Substance3DForUnity/Editor/Scripts/SubstanceEditorEngine.cs:338)
Adobe.SubstanceEditor.SubstanceEditorEngine.LoadAllSbsarFiles () (at Assets/Adobe/Substance3DForUnity/Editor/Scripts/SubstanceEditorEngine.cs:521)
Adobe.SubstanceEditor.SubstanceEditorEngine.Update () (at Assets/Adobe/Substance3DForUnity/Editor/Scripts/SubstanceEditorEngine.cs:118)
UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at <5f40cdb07bd44d76a23dad985a4ec283>:0)

Unable to instantiate substance material with null assetPath.
UnityEngine.Debug:LogError (object)
Adobe.SubstanceEditor.SubstanceEditorEngine:InitializeInstance (Adobe.Substance.SubstanceGraphSO,string) (at Assets/Adobe/Substance3DForUnity/Editor/Scripts/SubstanceEditorEngine.cs:334)
Adobe.SubstanceEditor.SubstanceEditorEngine:LoadAllSbsarFiles () (at Assets/Adobe/Substance3DForUnity/Editor/Scripts/SubstanceEditorEngine.cs:521)
Adobe.SubstanceEditor.SubstanceEditorEngine:Update () (at Assets/Adobe/Substance3DForUnity/Editor/Scripts/SubstanceEditorEngine.cs:118)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()

 Reproducible in 2021.3.8f1 / Windows 10.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Aug 26, 2022 Aug 26, 2022

Copy link to clipboard

Copied

Hi, We are currently working on a fix for this issue. A new update will be available soon on the Unity asset store. Thanks for your patience.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 25, 2022 Aug 25, 2022

Copy link to clipboard

Copied

I'm trying out this plugin right now. It seems like some settings are not imported correctly I have downloaded the SBSAR file of Earthenware Wall Tiles from the Substance library. Even though I can adjust all sliders and such, the height doesn't seem to work properly. The tile height variation doesn't do a thing in Unity 2021.3.8f1 HDRP version. I'm using DirectX with shader HDRP/Lit.
As you can see in the file with library there is a real variation in the tile heights, etc. As you can see in the material preview in Unity, there is NO variation whatsoever and in the editor there is a VERY SLIGHT variation, hardly noticeable.

This is with the graph settings exactly as they are in the library webplayer.

Oh, and I have this error:
Assertion failed on expression: 'i->previewArtifactID == found->second.previewArtifactID'
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Aug 26, 2022 Aug 26, 2022

Copy link to clipboard

Copied

Thanks for reporting this issue. We'll investigate this further. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 05, 2023 Sep 05, 2023

Copy link to clipboard

Copied

Hi,

Any updates with this one?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 05, 2023 Sep 05, 2023

Copy link to clipboard

Copied

Try to change;

"Texture compression format" to ETC 

"Normal Map Encoding" to XYZ

"Lightmap Encodingto Normal Quality

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Sep 05, 2023 Sep 05, 2023

Copy link to clipboard

Copied

Hi @adalgise , to best see height displacement it is recommended that you use the HDRP/Lit Tesseleation shader for the material. After that, change the Displacement Mode to Tesselation Displacement. Tesselation Factor can be set as high as needed. After that, set Parameterization to Amplitude and Adjust the Amplitude value higher to see greater displacement. Attaching a screenshot example here. Let us know if this helps.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 07, 2023 Sep 07, 2023

Copy link to clipboard

Copied

Thank you for the information, even if I must use URP for mobile development, I took my notes for future.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 30, 2022 Aug 30, 2022

Copy link to clipboard

Copied

 adobe-fun.png

Please give us an option to disable this automatic updating.

It makes development impossible once you have more than 20 or so sbars in your project since you have to stop and wait anytime you do anything. Changed a line in your code? Wait 30 seconds. Want to enter play mode to test it? That takes another 30 seconds. Want to open a different scene? That's another 30 seconds even though I have changed nothing related to substance in any of these cases. I would also like to mention I'm running a 5950X with 32GB and an enterprise SSD, so if it's that bad for me I can't even imagine what kind of nightmare it must be on lower end hardware.

I had to resort to isolate the plugin in a separate project that I only dare to open when I have to modify graph settings and then manually copy the generated materials and textures over to my main project. It's very painful but at least I don't lose around 3 hours each day just waiting for these pointless updates.

I wish I could just go back to the old plugin but that has become so broken in modern Unity versions that it's incapable of putting the roughness texture into the alpha channel of albedo or metal in the builtin RP which means I would have to manually fix that in photoshop for every single material which would be even more painful.

Please stop making developers choose between broken deprecated and broken preview versions of your products. I know that's the example Unity is setting but I just can't take it anymore.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Sep 19, 2022 Sep 19, 2022

Copy link to clipboard

Copied

Hi, thank you for your feedback. We'll investigate this further.

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 18, 2022 Sep 18, 2022

Copy link to clipboard

Copied

I want to animate on Unity using $time defined in substance 3d Designer.

Roughly speaking, something like $time=Time.deltaTime

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 26, 2022 Sep 26, 2022

Copy link to clipboard

Copied

The old native integration had this, so the new plugin should probably have this as well. Be warned that adjusting the $time input live would require a new texture render every frame so it would not be very performant. It could be useful for offline rendering with Timeline though.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 10, 2022 Oct 10, 2022

Copy link to clipboard

Copied

Hi, We are currently looking into this. I'm not sure what $time property is. If it is just a simple input then you can assign the value to it using SetInputFloat("time", Time.deltaTime) using the SubstanceRuntimeGraph component.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Oct 17, 2022 Oct 17, 2022

Copy link to clipboard

Copied

@Shinichi.S,  Here are the steps for how to work with the $time property:
1 - Add a SubstanceRuntimeGraph component to your scene.
2 - Assign the SubstanceGraph to the SubstanceRuntimeGraph property.
3 - Use references to the SubstanceRuntimeGraph to call runtimeGraph.SetInputFloat("$time", Time.time) and runtimeGraph.Render() on every Update(). 

Please let us know if this helps.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 06, 2022 Oct 06, 2022

Copy link to clipboard

Copied

Hi!

The latest version of the plugin removes the class SubstanceRuntimeMaterial used for modify the material using scripting

https://substance3d.adobe.com/documentation/integrations/substance-3d-for-unity-scripting-232292391....

The documentation has no working sample about how to modify this on scripting. Would be possible to see a example/video about howto change parameters in real time ?  Like change the amount of rust, dirt or whatever? Thanks!

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 10, 2022 Oct 10, 2022

Copy link to clipboard

Copied

Hi, Thanks for your feedback. We are currently looking into updating the documentation and adding an example to explain how the component works. We appreciate your patience.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 18, 2022 Oct 18, 2022

Copy link to clipboard

Copied

Old vs. New
In the old plugin I was able to update my SD sbsar with added or removed parameters and then reimport them into Unity and all the graphs associated with that SBSAR would update with those changes.

In the new plugin those added or removed parameters ONLY update IF I create a new graph from the SBSAR; and the changes are ONLY on the newly created graph.  Previously created graphs DO NOT update with the changes.

We just switched over to Unity 2021 and urgently need this plugin updating correctly.  

 

Thanks,
-Don

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 25, 2022 Oct 25, 2022

Copy link to clipboard

Copied

Hi, Thanks for reporting this issue. This seems to be a bug in the Unity plugin. We'll investigate this further and reach out to you if we need more information. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 25, 2022 Oct 25, 2022

Copy link to clipboard

Copied

Thank you all for your attention to this matter!!  

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 25, 2022 Oct 25, 2022

Copy link to clipboard

Copied

Hi There, 

Thanks for the updates. I'm using the former plugin version 2.6.0 from which I have tens off configured substances and materials. How should I migrate to the 3.3.0 version that you released ?
When I tried, it updated all the *.sbsar.meta files but lost all the configured materials. I did a rollback so no work lost. 

This is quite an urgent matter though.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 25, 2022 Oct 25, 2022

Copy link to clipboard

Copied

I mean, is this production ready, or should we stick with the former version meanwhile this new one is stabilising ?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 25, 2022 Oct 25, 2022

Copy link to clipboard

Copied

I feel your pain!!  I'm forced to have to use this version of the plug-in because the company I work for made the switch to a new version of Unity that can only use the newer version.  🙁. So IMO I would absolutely hold off if you can...

 

It doesn't seem like anyone monitors this forum either...  I have yet to get a reply or anything based on my previous post.  However there is a Discord Substance channel that more people monitor and the community is really helpful there.  I have a pretty in-depth thread on there discribing some of the other issues I've found with this unfinished plug-in if you care to investigate further.  I don't have the link with me at the moment but if you can't find it I'll post it when I get into work today.  

Good luck!!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 25, 2022 Oct 25, 2022

Copy link to clipboard

Copied

Substance 3D Discord server

Credit to @Synthoid for directions over to Discord!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 26, 2022 Oct 26, 2022

Copy link to clipboard

Copied

Well, we just migrated to 2021 LTS, and the 2.6.0 still seems to work (the very latests of allegorithmic). However for futur proofing being able to use the new version without loosing work/flow is eagerly sought. Thanks for the discord link, it'll be helpfull in the future.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 25, 2022 Oct 25, 2022

Copy link to clipboard

Copied

Hi, We recently did some refactoring that might have caused this issue. Let me get back to you on the best way to update the plugin version without losing the configuration to the substance materials. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation
Download Latest Versions