Search Unity

  1. We would like to hear your feedback about Unity and our products. Click here for more information.
    Dismiss Notice

An Update on Substance Format Support in Unity

Discussion in 'External Tools' started by ans_unity, Dec 19, 2017.

  1. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    We have been getting some reports of this issue. We have this fixed internally for our 2.2 update. However, we can't seem to repro this at all with the 2.1 builds. Can you please let me know more information about how you got this error?

    PC or Mac?
    Using IL2CPP?
    Which build platform (ios, android, pc)?
    Do you get the error right when the plugin is added to a project?

    When you say upgraded, did you have a project with Substance plugin and then open in the updated 2018.2.16f1 version? Or are you creating a new project with 16f and importing the substance plugin?

    Cheers,
    Wes
     
  2. jeffreymlynch

    jeffreymlynch

    Joined:
    Jun 27, 2017
    Posts:
    1
    I'm receiving the same error using 2018.2.16f1. I'm using IL2CPP as the scripting backend for a PC build. It happens when you first import Substance.

    ******UPDATE #1*****
    The Substance import seems to work when on the default settings for a new project (i.e. .Net 3.5 Equivalent Scripting Runtime, Mono Scripting Backend). I will try changing it to IL2CPP and see if that messes with it.

    ******UPDATE #2*****
    Okay, so IL2CPP worked just fine. I believe I've isolated the problem to the act of switching over to the .NET 4.x Equivalent Scripting Runtime. Apparently, Substance does appreciate the switch from 3.5, and lets you know that incessantly in the editor console :( Hope this helps you find a fix, since I really enjoy using the more modern C# syntax of 4.x However, I enjoy using Substance in Unity more, so I'll develop in 3.5 until a compatibility patch is released. :)
     
    Last edited: Nov 21, 2018
  3. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    823
    Hi,

    I removed substance plugin from my project and it went away so for now I will keep it that way :)

    Answers:

    PC
    IL2CPP - Actually not sure if I am using that, how can I tell ?
    Build platform windows pc
    yes I got error as soon as I upgraded unity to .16f1, it wasnt happening before (I did not update substance plugin(!), maybe that was a stupid thing to do)
    The project is a long term project ive been working on for many years, so not fresh.

    I hope substance can regain some of its traction, seems like a lot of people are pissed with it these days :) But we still know it is AWESOME really. Thanks.
     
  4. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296

    This error is coming from an API rule change that Unity made, affecting 2018.2.15f and higher, where an API function call is not permitted to be called from a constructor. The error can appear when our C++ plugin (which contains Allegorithmic's rendering framework) is accessed for the 1st time. From the editor side: it happens when clicking on a Project Browser graph entry. From the script side: it happens the 1st time one of our script function is used.

    I can't seem to reproduce this error and not all users are getting the error, so the API function rule may not be consistently enforced on the Unity side at this time. However, we know this is an issue and have updated our plugin to adhere to the proper API rule denoted by Unity and this issue will be fully resolved in our 2.2 update. We wanted to get a hotfix out for this ASAP for our 2.1 plugin, however the API rule ended up having us do sizable rework, so we had to push this fix to our 2.2 update.

    With that said, I am trying to find out the circumstances where this error will arise. Please let me know what steps you took that produced the error. For example, did you start with a working project with substance plugin and just upgraded? Did you start with a new project and the error appeared right when you imported the plugin?

    We are very sorry for this issue. We know it's extremely frustrating for our users and it's really tough on us as well with these constant changes to the API that can happen between minimal point releases. At this time, we are advising users to stay on 2018.2.14f for the 2.1 plugin. With 2.2, we will be supporting all of 2018.2 and 2018.3.

    Cheers,
    Wes
     
  5. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Thanks very much for the info.

    We definitely understand you guys are rightfully upset. We totally agree with you and we are working hard to get the plugin out of beta. In many ways, we are in the same boat as the constant API changes without warning are often causing us many issues with the plugin. We end up spending time playing catch up on patches then completing the features.

    Please rest assured, we love Unity and we love our users. As a Subtance/Unity user myself, I know that can sound like empty words when there are so many issues, but please know we are working hard to get everything with the plugin working great. We will get there : )

    Cheers,
    Wes
     
  6. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Awesome! Thanks very much for info : ) This is extremely helpful. We do have this fixed internally with our 2.2 build and this fix will officially roll out for 2.2.

    Cheers,
    Wes
     
    jeffreymlynch likes this.
  7. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Thanks to @jeffreymlynch, We can now confirm the error will happen with the Scripting Runtime Version is set to .NET 4x. You can safely use 2018.2.15f and higher with the scripting runtime version set to .NET 3.5 equivalent.

    We will have this fixed in the 2.2 update.

    Cheers,
    Wes
     
    jeffreymlynch likes this.
  8. Tenebris_Lab

    Tenebris_Lab

    Joined:
    May 23, 2017
    Posts:
    35
    I have a question,

    We have a scriptable object that has a list of materials. We compile this list of materials into an assetbundle. In the previous built in version of substance we were able to assign assetbundles directly to the materials within the sbar file.

    Like So...


    Code (CSharp):
    1. //Remove Bundle Tag From Pack
    2.             string path = AssetDatabase.GetAssetPath(pack);
    3.             AssetImporter assetImporter = AssetImporter.GetAtPath(path);
    4.             assetImporter.assetBundleName = "";
    5.             //Tag Each Material
    6.             foreach (Material asset in pack.materials)
    7.             {
    8.                 path = AssetDatabase.GetAssetPath(asset);
    9.                 assetImporter = AssetImporter.GetAtPath(path);
    10.                 assetImporter.assetBundleName = AssetBundleName;
    11.                 EditorUtility.SetDirty(asset);
    12.                 Debug.Log("Converted: " + asset.name);
    13.             }
    I have just done a major upgrade to 2018 including substance plugin. But now I am unable to set the assetbundle of the material assigned to the scriptable object using the above script.

    Any pointers?
     
  9. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    803
    Any ETA on that update? I have the same issue, I'm also on .Net 4.
     
  10. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Hi,

    I don't have an ETA I can give just yet. I know that is frustrating. It will be in Dec, but I don't have the exact date just yet.

    Cheers,
    wes
     
    Rowlan likes this.
  11. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    803
    No problem, it's not frustrating at all. Information is everything. At least I know now it won't come this week and probably not next week and it pays off to work around this until the patch arrives. Thanks for the info, very much appreciated! :)
     
  12. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Hi Everyone,

    We are going into beta now and will have 2.2 available in early January. We had planned to have it roll out in December, but we ran into errors with .NET4 and needed to make sure these issues were addressed before we released.

    Here is the changelist for the 2.2 update:

    Core Substance Plugin
    • Updated Substance Engine

    • Unity 2018.3 support

    • .NET 4.x support

    • Unity Pro skin GUI readability improvements

    • 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

    • Graph, and corresponding material, have the same object name.

    • Support material's output assignments.

    • Fixed sRGB handling (linear color space must be enabled).

    • Fixed "Standard (roughness setup) shader handling.
    Scripting
    • 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()

    • Hide functions not meant for script support.

    • Implemented Singleton

    • Re-designed rendering queue handling,

    • Re-designed transitions between editor & play modes,

    • Changed log mechanism

    • Improved loaded Substance memory management,

    Known Issues in 2.2.0
    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

    • Substances are not restored back to their original state when going back from play to editor after changing them at runtime

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

    • Currently cannot use il2cpp scripting backend
     
    Crossway and optimise like this.
  13. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Hi Everyone,

    We have released Substance in Unity 2.2 and it's live now on the Unity Asset Store. This update includes a ton of bug fixes and some new features detailed below in the release notes. We now have support for Unity 2018.3 as well as .NET4. Thank you for your patience. We know it took a long time to get this release out. We will be doing more frequent updates from here on out.

    Please be sure to check out our full documentation. https://support.allegorithmic.com/documentation/integrations/unity-2018-170459323.html

    Substance in Unity 2.2 change list
    Release Date: Jan 10, 2019

    Core Substance 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)(edited)
    - 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

    Scripting

    - 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)
     
  14. XCPU

    XCPU

    Joined:
    Nov 5, 2017
    Posts:
    113
    Having trouble downloading the new 2.2, seem I always get the 2.1
    Importing from inside Unity also gives the Old version 2.1 too.
    Been updating other assets but this one is giving some troubles.
     
  15. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    803
    I just toyed around for a few hours with the new substance plugin version and unity 2018.3.1 and have to say: it's awesome. Great job guys :)
     
    wesm, transat and hopeful like this.
  16. Grimbly

    Grimbly

    Joined:
    Mar 29, 2014
    Posts:
    1
    After watching the "Substance in Unity 2018.1 Scripting" video on YouTube I was left with a few questions I was hoping might be answered. I tried asking them on the video but perhaps this is a more appropriate place for a quicker response/discussion for them.
    1. What happened to the link for the "substance_api.zip" shown around 6:39 in the video? Is there a new location for a complete API reference for the plugin?
    2. What are Substance.Engine.dll and substance_sse2_blend.dll used for if you only need to reference Substance.Game.dll to modify the .sbsar?
    3. Do you always have to modify the materials through a .sgo or can you just modify the .sbsar directly? Are there limitations to modifying it directly vs using the .sgo?
    4. Could something like this animated lava (https://share.allegorithmic.com/libraries/629) be achieved through the scripting API and played out in realtime if it were on a small texture around 200px x 200px?
    5. When using this plugin what would be packaged and actually need to ship with the game?

    That's all for now I think :)
     
  17. Crossway

    Crossway

    Joined:
    May 24, 2016
    Posts:
    364
    I can't upgrade my project to Unity 2018.3.1 because it stuck on .sbsar import everytime! I'm using last version.
     
  18. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Can you contact me at wes.mcdermott@allegorithmic.com and send me your sbs file? Are you using any custom outputs in the sbsar?

    Cheers,
    wes
     
    Crossway likes this.
  19. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Hi,

    Sorry for the late response on this.

    1. We removed the zip file at it was getting really out of date. You can see all of the latest info on scripting here.
    https://support.allegorithmic.com/documentation/display/integrations/Scripting+in+Unity

    2. The Engine and sse2( CPU engine) our used for the Substance Engine. The engine is what computes the textures from the graph. The Game.dll is the scripting API.

    3. The SGO is a graph in the sbsar file. When you are scripting, you are modifying the parameters of the SGO.

    4. You can animate textures through the API. However, it will be very expensive per frame since a texture is being generated. Animation is best done in the shader. You could use the substance to generate the textures that are then animated by the sahder.

    5. The substance engine and assemblies are shipped, but only if you are referencing the SubstanceGraph's within scripts/monobehaviors. If you are not using any of the Substance.Game API in script, then only textures are shipped and the substance dlls are removed.

    Cheers,
    Wes
     
  20. Crossway

    Crossway

    Joined:
    May 24, 2016
    Posts:
    364
    I send an email to you.Thanks.
     
  21. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    414
    Hi @wesm, HDRP Live Link still not available yet?
     
  22. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    We don't have official support for HDRP yet. We will definitely support this, but our focus is on the core plugin for now. We are working to make sure the core plugin is out of beta and fully production ready. We will then be adding new features such as HDRP.

    Cheers,
    Wes
     
    optimise likes this.
  23. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Hey everyone,

    I'm sure you will soon or have already hear the news that Allegorithmic is joining Adobe. Today, we officially announced that we’ve joined Adobe and you can read about it here:

    https://www.allegorithmic.com/blog/allegorithmic-joining-adobe-family

    This is a tremendous opportunity for the Substance toolset. We are all very excited about the new journey ahead. If you have any questions, please let us know or feel free to message me directly.

    https://theblog.adobe.com/adobe-acquires-allegorithmic-substance-3d-gaming/

    Cheers,
    wes
     
    optimise likes this.
  24. f1chris

    f1chris

    Joined:
    Sep 21, 2013
    Posts:
    240
    I'm sure it's a good day for stock holders but a sad day for all developers. We've seen what Adobe did with Mixamo by example.
     
    ksam2 and JamesArndt like this.
  25. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    The plan is to heavily accelerate the development of the Substance tools. Here is an excerpt from Sebastien Deguy (founder of Allegorithmic) post, which can be found here: https://medium.com/@sebastien.deguy...en-deguy-my-peter-jackson-moment-7dd64ba1d1f1

    In order to do this, Adobe is building an expanded team to focus on the incredible opportunities in 3D and immersive design, and is offering me to become Vice President, 3D & Immersive, reporting to author / entrepreneur / investor / executive Scott Belsky⁴, Chief Product Officer and Executive Vice President, Creative Cloud at Adobe.

    Seb is not going anywhere and all of the very same teams are still behind the Substance products.

    Cheers,
    Wes
     
  26. f1chris

    f1chris

    Joined:
    Sep 21, 2013
    Posts:
    240
    I have no doubt Allegorithmic team will continue to be dedicated and create great and innovative products like you did already. I'm just not confident how Adobe integrates companies on the long term. Futur will tell !

    Cheers
     
  27. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Totally understand : ) Please let me know if you have any questions. We are all very happy and excited at Allego. Adobe has been working and investing in us for a few years now.

    Cheers,
    Wes
     
  28. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    414
    I see. Btw can u make sure the plugin is working when Unity 2019.1 enters beta 1 phase to make sure the plugin not support Unity 2018.3 disaster not happen again?
     
  29. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Yes! We are actively discussing this. We definitely don't want to repeat 2018.3 again as well as not having a plugin during the entire 2018 beta.

    Cheers,
    Wes
     
    optimise and Lars-Steenhoff like this.
  30. Korindian

    Korindian

    Joined:
    Jun 25, 2013
    Posts:
    428
    @wesm This might not be the best place to ask this, but since you're here... I have a bunch of points available for Substance Source that I haven't redeemed yet. Will I lose any of them in the future?

    I'm sure you guys must have been prepared for all the reactions on social media with this announcement. I too was a bit concerned. I can only hope that unlike most acquisitions, you guys will be able to continue to innovate. Can you detail any plans for the future of substance support in Unity under Adobe?
     
  31. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Hi,

    You will not loose your Source points : )

    I don't blame anyone for being upset or concerned. This was some very big news. We will now need to show our users that we are still in charge. We will do that and innovation will continue. But saying that won't help. We need to show it with our actions.

    Our plans for Unity have not changed. We have actually been able to hire more people to the dev team, which will actually be great for our Unity releases. The teams will be growing not shrinking. Our short term goal is to get the Unity plugin out of beta ASAP and then begin adding new features such as HDRP/LWRP support. We also will focus on the 2019 beta cycle.

    Cheers,
    Wes
     
    Korindian and optimise like this.
  32. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,001
    I heard you're going to release patch 2.2.1 soon! please do it faster :oops:
     
  33. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Yes, we are looking to release the 2.2.1 update today.

    Cheers,
    wes
     
    ksam2 likes this.
  34. Crossway

    Crossway

    Joined:
    May 24, 2016
    Posts:
    364
    Downloaded the 2.2.1 but it didn't solved my hanging problem with lots of .sbsar materials. Everytime I remove that material It gets stuck on another material again.

    Edit: Ok Ok I removed all my database and start to creating a new database again :confused: So forget about hang issue but that is not the end of story! I realized Uber shader can't get height texture of a substance material anymore to use for its POM shader! don't know if it's a problem form Uber Side or new substance plugin.
     
    Last edited: Jan 26, 2019
  35. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Thanks for the info on the crash. Are you using the Uber shader from Asset Store? We haven't looked into supporting 3rd party shaders yet. We are focused on Unity's shaders. It should work, but in this case we will need to look into it to see if perhaps something in our plugin is causing the issue. For tessellation, we will 100% support Unity's HDRP shaders. That is working now, but does require a manual setup.

    Cheers,
    wes
     
  36. Mullan7

    Mullan7

    Joined:
    May 23, 2013
    Posts:
    65
    Is UWP supported at this time?

    This plugin works great for me when building for windows standalone, but if i build with UWP it fails with a big stack of errors like this:

    1>7E07C9C2486F689022A8B48C954D41F3.obj : error LNK2019: unresolved external symbol cppGetNumberOfDuplicatedGraphs referenced in function NativeFunctionsStaticIOS_cppGetNumberOfDuplicatedGraphs_m3556972F6C4689069CCFF35B8AA92DE8A34C21D8

    If I remove all references to Substance.game from my scripts it works, but then I lose runtime functionality
     
  37. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    We don't support UWP at this time, but this is on the to do list. I will talk to the dev team about this error and see if it's something we can address quickly.

    Cheers,
    Wes
     
    Mullan7 likes this.
  38. hodge47

    hodge47

    Joined:
    Apr 14, 2014
    Posts:
    19
    Hi,
    Is there any in-depth documentation on the Substance plugin for unity at runtime other than changing the inputs?
    I need to create multiple substance graphs at runtime for multiple objects who use the same Substance file. I tried using the Duplicate() method, but the graph it creates is blank. I'm not sure how to generate the necessary components for it. Here is the code I tried.
    Code (CSharp):
    1.  
    2. public SubstanceGraph substanceGraph; // The reference substance graph set in the inspector
    3. public SubstanceGraph mySubstanceGraph; // The duplicated substance graph
    4.  
    5. void Start () {
    6.     mySubstanceGraph = substanceGraph.Duplicate();
    7.     mySubstanceGraph.QueueForRender();
    8.     mySubstanceGraph.RenderAsync();
    9. }
    Here is what it look like in the editor...

    Is there some other method I need to use to generate the components?
    Thanks.
     
  39. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Hi,

    We have docs on duplicating a graph on this page. https://support.allegorithmic.com/documentation/display/integrations/C#+Example+Script. Please let me know if you have any issues.

    Cheers,
    Wes
     
  40. hodge47

    hodge47

    Joined:
    Apr 14, 2014
    Posts:
    19
    I copied the code line for line (adjusting it for my substance file of course) on the docs page but came up with the same result. It seems to me like it's just not rendering when I tell it to in code.
    When I run this, I end up with the same thing as my post above where the whole graph object is blank. However, in the editor, if I duplicate the original graph object at runtime using the "+" button, the graph I created in code is rendered. Here is a gif showing the differences. The middle one is the one I created in code as it has the red piece on the baseColor map.

    I am using version 2.2.1 of Substance in Unity in version 2018.2.20f1 of the editor with .NET 4.x scripting compatibility. Could there be some issues there? I know the latest version of Substance in Unity added support for .NET 4.x.
     
    Last edited: Feb 6, 2019
  41. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Hi,

    I think this could be an issue with .NET4. The plugin doesn't support .NET4 in 2018.2. There was a change in 2018.3 so we had to push the .NET4 support to 2018.3 and fallback to .NET3.5 in 2018.2

    Cheers,
    Wes
     
  42. EnriquePage91

    EnriquePage91

    Joined:
    Jul 2, 2015
    Posts:
    50
    Hello Allegorithmic team,

    I wish you the best in your new adventure with Adobe and I hope they will appreciate the wonderful product you have and not dive it to the ground like they did with Mixamo. It would be a complete detriment to the whole industry if your package and workflow were deprecated. I also hope there will be "non subscription" models because it's a bit ridiculous to force people into monthly payments.

    I really tell everybody I know that Substance Designer is a better photoshop than photoshop itself - really it's application go far beyond simply texturing - here's to hoping adobe will actually make a good use of this and not stager it's development. I guess now there's no point since Substance is already part of the Adobe Suite lol.


    I really hope it is all for the best though, although I don't know if it will be (but I hope so!).


    As for the actual question I have: I can't seem to export custom output maps from substance. I have coded a shader which interprets rgba channels of our textures in particular ways, our studio strictly generates substances based on this workflow and after updating to "Substance in Unity" from utilizing the native integration, we can't seem to get those special outputs to be generated.

    When we generate all outputs on the SBSAR, it generates the standard outputs (height metallic smoothness normals and albedo). When will this be supported?


    I really hope we can have these features soon, the plugin for Unity is just taking way too long.


    The good news though, is that the plugin is amazing for scripting and definitely 100* better than the support offered by the native integration. You guys just need to "Polish" it and get all the features working.


    Loving all the access calls we are getting through Substance.Game & SubstanceGraph - can't wait for the plugin to leave Beta!


    Thank you and I wish you the best, Good luck Allego team.
     
    Last edited: Feb 9, 2019
  43. Crossway

    Crossway

    Joined:
    May 24, 2016
    Posts:
    364
    Hi.
    This is what tomaszek said about Uber and Substance issue.
     
    hopeful likes this.
  44. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Hi,

    Thank you very much for your support! We greatly appreciate it. The team is working hard to get the plugin out of beta and fully production ready. The plugin is also working in the 2019 beta as well. We really wanted to start publishing updates much more rapidly as well. Glad to hear you are liking the updates.

    For the custom outputs, this should be working. If you create an output and give it a custom usage and identifier, when you choose generate all outputs, the output will be generated. I will use the RGBA merge node in Designer to pack channels. We will be adding a custom channel packer to the plugin to support HDRP in the future. You only need to be sure to set the channels to RGBA in designer. All Substance integrations need to have the RGBA channel flag in order to be processed by the engine.

    No worries on Adobe : ) We agreed to be acquired as Adobe has given the Allegorithmic team full control to run their new 3D and immersive initiatives. We have also joined forces with the Mixamo team internally. The future is looking very bright.

    Please allow me to provide some context on Mixamo. The mixamo team wasn't killed by Adobe. It is very much the contrary. The entire team is still there and actually working very hard across several initiatives, creating Fuse, Dimension and Project Aero since being acquired. The team, on their own direction, decided to move some focus from Fuse to create what is now known as Dimension and Adobe's Lantern renderer. They idea was that in order to fully realize what they wanted to do with Fuse, they needed a new toolset to view assets, staging and rendering. In addition to Fuse, the mixamo.com site is still online close to 4 years later and available to use for free.

    Personally, I knew members of the Mixamo team before they were acquired and I can say that they are still doing very well in Adobe.

    Cheers,
    Wes
     
  45. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Hey Everyone,

    We have a new update for Substance in Unity. It's now live on the Asset Store. No new features in this update, but we fixed some pretty large bugs.

    Substance In Unity 2.2.2
    February 11th, 2019
    1. Fixed a bug where the Unity default texture GUI was being overwritten when the Substance In Unity plugin was installed
    2. Fixed a bug where EditorApplication.delayCall being set caused issues with other plugins
    3. Fixed a crash that occurred when using non-latin characters in a project name
    More to come!

    Cheers,
    Wes
     
    optimise and syscrusher like this.
  46. EnriquePage91

    EnriquePage91

    Joined:
    Jul 2, 2015
    Posts:
    50

    Hi Wes, thank you for your quick reply it is very appreciated.

    I will try again after updating, however I can guarantee that I have packed the maps into RGBA channels using the RGBA Merge Node just as you recommend. I have assigned uses to them such as "ambientocclusion" "bump" etc and I have then created outputs for these Merge Nodes. As to "all integrations need to have the RGBA channel flag in order to be processed by the engine" I must say I'm not really sure what you mean by this. If you could explain a bit further I would appreciate it, however I can guarantee that I have done all the other steps just as you recommend - the substances all worked just fine a few days ago in 2017.4 utilizing exactly the same workflow.

    As for the Mixamo thing, it is very encouraging to read that as I kept my eyes on it for a while after it was bought and did not like what Adobe was doing about it with Fuse; The textures got worse, they got censored and the selection of things you could do got weaker.

    Perhaps I gave up on it on that early phase where they decided they needed to rebuild "from the ground up" in order to achieve what they wanted. Besides I've read several comments ever since you were acquired, mentioning exactly that Mixamo was destroyed, so I figured they had actually ruined it (since I haven't used it since then). I guess I will have to look into what you said and re-evaluate my opinion, but I appreciate the clarifications.

    It is very encouraging to hear that the Mixamo and Substance teams will be working together in the future; as a matter of fact knowing that you guys will be working together, is probably the only thing that could switch my opinion about the acquisitions of both companies by Adobe (sorry, I just don't love their subscription model).

    I wish you the best, as I have spent over 2 years working on exactly that: utilizing your wonderful product in conjunction with a system that will allow me to replicate what Mixamo offers, directly inside of Unity. I can only dream of a future when there's an "SD/Mixamo" for procedural modelling of characters or perhaps even props, and the actual possibility of utilizing an "SD" engine to generate those in real-time in engines such as Unity and Unreal. There is certainly a lot of possibilities there considering how SideFX just won't change their license for Houdini which unfortunately means we can't utilize the Houdini Engine at runtime. I wish we could, and since you guys have already figured that out to a certain extent, perhaps you will be able to surprise the whole industry. I can only wish you good luck.

    Anyway, I will report if there are still issues once I look into it again after updating the plugin.
     
  47. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    963
    Thanks for the update! Bug fixes are always welcome, especially when one of the bugs was a crash.

    I was wondering, with the Adobe acquisition, if there would be a change in how Substance integrates with Unity. Specifically, I note that Photoshop PSD files are directly supported by Unity rather than needing a plugin. Do you envision Substance moving back into the engine for direct support, now that it alongside Photoshop is an Adobe product?
     
  48. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    414
    When is the planned out of beta schedule?
     
  49. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    We are looking at April. We are currently working on IL2CPP support and support for Asset bundles. We are currently wrapping our work on material serialization which will make upgrading older substances a seamless experience. From there we will come out of beta and begin working on new features such as HDRP, shader graph etc.

    Cheers,
    Wes
     
    optimise likes this.
  50. wesm

    wesm

    Allegorithmic Community Manager

    Joined:
    Feb 24, 2014
    Posts:
    296
    Hi,

    I don't foresee there being a change in how Substance integrates with Unity. The removal of the native integration was a decision Unity made based on their goal of keeping the engine as light as possible. I don't think they are wanting to have a 3rd party solution such as the Substance engine embedded within Unity. The PSD support probably doesn't fall in the same category from there perspective as an entire API such as with Substance.

    Cheers,
    Wes