Search Unity

An Update on Substance Format Support in Unity

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

  1. mcbauer

    mcbauer

    Joined:
    Oct 10, 2015
    Posts:
    524
    Wes, I have a couple of concerns/comments with the update.

    1, after going through the update, many of my materials still broke--stayed black, because my entire input texture library is compressed to DXT1 or 5 because that's how Unity rolls. After a lot of trial and error, I finally discovered that my alpha based textures needed to be RGBA 32 bit and non-alphas RGB 24 bit. I understand that this might not be an apparent issue if you aren't giving people the option to load in custom images, but my product enters around that so this one hurt. Definitely should be addressed in any material depicting the upgrade path.

    I'm going to have to redo the update for a third time to see if I can actually get all of my materials to smoothly transition over since I now know a very relevant piece of information.

    2. I used to be able to export my compiled bitmaps from within Unity, from the shader, but I'm not seeing that option anymore. Again,my product centers around this functionality. I really hope this wasn't removed.
     
  2. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,295
    Substance Live Link creates only AlbedoTranspareny, MetallicSmoothness and Normal maps. Is it possible to have also Height Map, Occlusion and Emission generated automatically and assigned to the Material?
     
    mcbauer likes this.
  3. Deleted User

    Deleted User

    Guest

    Hi,
    We have it slated to take care of this issue. We will be adding height, AO and emissive in a future update. We are also going to support multiple mesh parts as well.

    Cheers,
    Wes
     
    Rowlan likes this.
  4. Deleted User

    Deleted User

    Guest

    Hi,

    Thanks very much for you feedback : ) I am speaking with the dev team about your issue number 1. I will report back on that one. For number 2, we just don't have the export option yet. This is on our to do list. The export bitmap feature will definitely be returning : ) I don't have an ETA as the team is focused on mobile for the next update, but exporting bitmaps will be part of the full release when we move out of beta.

    Cheers,
    Wes
     
  5. mcbauer

    mcbauer

    Joined:
    Oct 10, 2015
    Posts:
    524
    Awesome thanks Wes, glad to hear that.
     
  6. nightcrawlerstudios

    nightcrawlerstudios

    Joined:
    Jan 16, 2017
    Posts:
    6
    I cannot import or use my Substance assets.

    Here is my call stack:

    Assets/Materials/comet_pit_surface.sbsar: Built-in support for Substance Designer materials has been removed from Unity. To continue using Substance Designer materials, you will need to install Allegorithmic's external importer from the Asset Store.
    UnityEditor.AssetDatabase:Refresh()
    SourceUnityLib.Classes.Helpers.SU_AssetDownloader:Update()
    SourceUnityLib.SourceUnityWindow:Update()
    UnityEditor.EditorApplication:Internal_CallUpdateFunctions()


    I have Unity 2018.1 and have tried with 2018.2 beta as well.

    Here are my steps to reproduce:
    1.) Create a new project.
    2.) Import the 'Substance in Unity' asset.
    3.) Open the Substance plugin, download a free substance.
    4.) A Materials folder is created. The substance appears in the folder as a single .sbsar file. I can't expand this file.
    5.) I see the above call stack in the Unity Console.

    Can anyone help me with this?
     
  7. nightcrawlerstudios

    nightcrawlerstudios

    Joined:
    Jan 16, 2017
    Posts:
    6
    FYI, this is the same issue I am experiencing.
    https://issuetracker.unity3d.com/is...be-used-even-if-substance-plugin-is-installed
     
  8. nightcrawlerstudios

    nightcrawlerstudios

    Joined:
    Jan 16, 2017
    Posts:
    6
    One more thing: When I go to the "My Downloads" section of the Asset Store, I am not given the option to update my Substance in Unity asset.
    I need to be able to do this to get the Substance Engine dll, which the download does not include. (I downloaded Substance for the first time against Unity 2018.1.
     
  9. Deleted User

    Deleted User

    Guest

    Hi,

    I'm sorry to hear you are having these troubles. I can't think of why this would not be working. From a 2018 project, downloading Substance in Unity will include the substance engine. The only time I've not seen this work is when you have downloaded Substance in Unity in a 2017 project. In that case, you just need to update, but as you stated you are not getting an update status for the plugin.

    Can you post a screen shot of the package when you create a new project and import Substance in Unity? Are you not seeing the substance engine dll?

    Cheers,
    Wes
     
  10. nightcrawlerstudios

    nightcrawlerstudios

    Joined:
    Jan 16, 2017
    Posts:
    6
    Hi Wes, Thanks for the quick reply. I will upload screenshots of my steps in two posts, because I have >5 images.
    Let me know if you have more questions!

    Thanks,
    Jaremie
     

    Attached Files:

  11. nightcrawlerstudios

    nightcrawlerstudios

    Joined:
    Jan 16, 2017
    Posts:
    6
    Here are steps 6,7 and 8.
     

    Attached Files:

  12. nightcrawlerstudios

    nightcrawlerstudios

    Joined:
    Jan 16, 2017
    Posts:
    6
    After reading your reply about 2017 Unity, I may have omitted important information from my first post: The first time I downloaded the Substance plugin it was from Unity 2017. The Upgrade option was not there, so I went through the upgrade steps listed in the Youtube video and the steps here: https://support.allegorithmic.com/documentation/display/integrations/Upgrading+2017.x+projects.
    I'm wondering if the Unity Asset store has somehow cached my download version and is reverting to that version to decide which version of the Asset it is providing (regardless of Unity Editor version)?
    Is there a way you can directly provide the libsubstance_sse2_blend.bundle so I don't have to go through the Asset Store?

    Thanks,
    Jaremie
     
  13. nyxassasin

    nyxassasin

    Joined:
    Sep 30, 2015
    Posts:
    3
    How can we use substances and live link with the HDRP Lit Tessellation shader?
     
  14. dgoyette

    dgoyette

    Joined:
    Jul 1, 2016
    Posts:
    4,196
    Am I missing something obvious, or is there no longer a way to rename materials? For example:

    upload_2018-6-11_0-26-47.png

    Clicking the "+" button here creates another instance of the material, with a "_1" suffix. I don't see a way to change the name of the material. Is that just something you don't support yet?
     
  15. dgoyette

    dgoyette

    Joined:
    Jul 1, 2016
    Posts:
    4,196
    Another question: What does the "upgrade" process described on this page actually do?

    https://support.allegorithmic.com/documentation/display/integrations/Upgrading+2017.x+projects

    I went through this process, and it didn't seem to have any impact on the result. For example, in my 2017.4 project I have an SBSAR with two graphs, call them "Main" and "Alt". Each has some different properties for the substance material. Upon updating to 2018.1 and using the new plugin, those two materials disappeared, and all that was left was a default material for the SBSAR using the defaults set in the substance.

    Shouldn't the upgrade process have preserved the different graphs I've created? If not, what's the purpose of it?

    [Edit]: I investigated this further, and found the issue appears to happen when running .NET 4.6. I posted this on Allegorithmic's forums here: https://forum.allegorithmic.com/index.php/topic,24309.0.html
     
    Last edited: Jun 13, 2018
  16. Deleted User

    Deleted User

    Guest

    Hi,

    We don't yet support the HDRP Lit shader with live link of the substance plugin. We will be supporting HDRP and LWRP in a future update.

    Cheers,
    Wes
     
  17. Deleted User

    Deleted User

    Guest

    Unfortunately, we have not yet added the ability to rename the materials. We will be adding this functionality. It's definitely on our list to address.

    Cheers,
    Wes
     
    syscrusher likes this.
  18. f1chris

    f1chris

    Joined:
    Sep 21, 2013
    Posts:
    335
    2 weeks later, mobile support development still going as expected ??? ;-)
     
  19. Deleted User

    Deleted User

    Guest

    Yes! It's going well. Still can't give an ETA on our next update, but things are going as expected on our end : )

    Cheers,
    Wes
     
    f1chris likes this.
  20. Deleted User

    Deleted User

    Guest

    Thanks very much for posting the issue you found with .net 4.6. I will speak to the dev team about this.

    Cheers,
    Wes
     
  21. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    Thanks, Wes. Like the OP, I was wondering if I was missing something in the UI.
     
  22. YannGROS

    YannGROS

    Joined:
    Apr 9, 2018
    Posts:
    15
    Hey guys !

    I tried to install the substance plugin, but I've got this error.

    Substance engine failed to load
    UnityEngine.Debug:LogError(Object)
    Substance.Game.DLLHelpers:LoadDLL(String)
    Substance.Game.NativeFunctions:cppInitSubstance(String)
    Substance.Game.NativeCallbacks:InitSubstance()
    Substance.Game.SubstanceMain:Initialize()
    Substance.Game.SubstanceMain:.cctor()
    UnityEditor.EditorAssemblies:processInitializeOnLoadAttributes()

    I tried to reinstall the plugin and Unity. Nothing changed.

    Unity 2018.1.0f2
     
  23. Deleted User

    Deleted User

    Guest

    Hi,

    We haven't seen an error like this. Are you downloading from the Asset Store and then get this error? Did you move any of the Substance files?

    Cheers,
    Wes
     
  24. gekidoslayer

    gekidoslayer

    Unity Technologies

    Joined:
    Sep 27, 2016
    Posts:
    134
    I'm getting the same error - and yes I've moved the plugins folder - all of my 3rd party code lives in a specific spot in the project.
     
  25. Deleted User

    Deleted User

    Guest

    Hey Mike,

    Moving the plugins folder is going to break the plugin at this time. We are looking to resolve this issue and move everything into a Substance folder. We have some higher ticket items to address first such as mobile support, but this is indeed something we have slated to address.

    Cheers,
    Wes
     
  26. YannGROS

    YannGROS

    Joined:
    Apr 9, 2018
    Posts:
    15
    Hi Wes, thank you to answer.

    Yes I am downloading directly from the Asset Store. I didn't move any of the Substance files. My colleague, who has exaclty the same settings / setup as me, gave me his folder (his plugin is working), but nothing changed.

    We tried something else :
    He gave me an empty project where he imported just one substance material with the plugin. I openned it on my computer, I still have the error, but the material which was imported by my colleague looks good. But it is still impossible to import any substance material. When I try, the error pops out and I've got only this (if it can help) :





     
  27. Deleted User

    Deleted User

    Guest

    Hi,

    Thanks for the additional information. Just to make sure I understand. You are trying to open your colleague's project which contains the substance plugin and substance materials. However, when you open this project, you are getting the error and can't import any new Substances. Is that correct?

    Cheers,
    Wes
     
  28. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    If it's at all possible, please don't force locations of Substances or of the plugin. Even at the size of my small indie projects, including some archviz work that is solo and doesn't need team collaboration, keeping the Project folders well-organized is a challenge. Art assets scatter their models, materials, and textures all over the place as it is. Some editor plugins live under /Plugins, others under /CompanyName/ProductName/Plugins, and so on and so on.

    In the case of Substance, I'll have Substances I downloaded from Substance Source, some that I downloaded from Substance Share, some that I downloaded from other online sources, some that I bought on the Unity Asset Store, and many that I've created myself. It's a challenge keeping those organized so I know what licensing applies to each one when I distribute my projects, plus trying to keep them organized according to what part of the project they involve (to allow easy reuse of modules from one project to another, for example). If Allegorithmic mandates that they all have to lump together in one giant folder, it's really going to complicate things.

    I'm sure I'm not the only one facing these challenges, and in fact my case of working solo or in very small partnerships is probably the SIMPLE case.
     
  29. YannGROS

    YannGROS

    Joined:
    Apr 9, 2018
    Posts:
    15
    Exactly ! I thought that it was related to the fact I'm using Holotoolkit (my main source of problems at this time !), but I've got this error even in an empty project.
     
  30. Deleted User

    Deleted User

    Guest

    We've been testing this on our end and can't seem to reproduce the issue. I have been able to send projects to other users and the open without issue. Can you please try this project?

    https://drive.google.com/a/allegori...mJZmkdcUWqKAWRBdaT7dc3DQJeZG/view?usp=sharing

    Cheers,
    Wes
     
  31. Deleted User

    Deleted User

    Guest

    Thanks very much for this feedback. We greatly appreciate it. No worries : ) We have no plans to mandate where Substance files are located. I was only referring to the plugin. Currently only the DLL files can't be moved and we are looking into moving the plugin files to an allegorithmic folder instead of having them at the root of the plugins folder. The substance .sbsar files can be organized and moved anywhere. That will not change.

    Cheers,
    Wes
     
    syscrusher likes this.
  32. f1chris

    f1chris

    Joined:
    Sep 21, 2013
    Posts:
    335
    Hi Wes,

    Been 2 weeks last time I asked so it’s now time for my “how’s mobile plugin development going these days ??”

    :)
    Thx
     
  33. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    That works for me, thanks. I'd like to be able to move the plugin, but that's a lot less important than being able to move the .sbsar files. I'm happy with getting 80% of what I wanted. :)
     
  34. YannGROS

    YannGROS

    Joined:
    Apr 9, 2018
    Posts:
    15
    Hi Wes,

    I know, it's not easy to reproduce the error. I created an empty project, just added the substance plugin, got the error. I gave it to my colleague, he hadn't any error.

    Your project opened without any error. I just had to make the upgrade (2018.1.0f1 -> 2018.1.0f2). I tried to import one of my substance material, and it worked. So I tried to take the plugin folder into my own project, but still got the error.

    Your project runs on scripting runtime .NET 3.5, so I tried on my own project to come back to the .NET 3.5 (I was on .NET 4.X), but nothing changed.
     
  35. Deleted User

    Deleted User

    Guest

    Hi,

    Very sorry for late reply on this. I think I may have been confused with your last post. We do not mandate where the sbsar files are placed. You can organize them however you like. With Source, we create a materials folder to download the sbsar files, but you can move them from that folder.

    We now have an Allegorithmic folder that is in the plugins folder. This Allegorithmic folder contains the plugin files for the engine and dlls. This will be available in the next update and is much cleaner than how we had it before with the engine files just dumped in the Plugins folder. We are also working on the ability to move this Allegorithmic folder, but not sure if this functionality will be available in the next update.

    Cheers,
    Wes
     
    syscrusher likes this.
  36. Deleted User

    Deleted User

    Guest

    Hi,

    When you change to .NET 4.x are you getting the error?

    Cheers,
    Wes
     
  37. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,104
    This all seems sensible to me, and thanks for clarifying. Being able to move the engine and DLLs from a location that starts out being a reasonable one (Plugins/Allegorithmic certainly qualifies as such, IMO) is a much lower priority than being able to freely organize the SBSAR files as my project requires. Thanks, Allegorithmic, for being responsive to users. :)

    Just out of curiosity, do you anticipate a time when Substance engine in Unity will be installed using Unity Package Manager? I'm on another thread about Unity planning to expose PM for installing Asset Store products as well, and I wondered if Allegorithmic is looking at this (admittedly, it's not a short-term option, based on what I'm seeing in the other thread).
     
  38. Deleted User

    Deleted User

    Guest


    Hi,

    Thanks very much for your feedback : )

    We have talked to Unity about the PM and installing Substance. We really want to do this and will work with them as much as we can. I'm not sure when it will happen as from what I understood as well was this was a long way out.

    Cheers,
    Wes
     
    Gen_Scorpius, syscrusher and hopeful like this.
  39. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Hi @wesm do you know when the next update is due?

    I have several issues, one is totally annoying as every now and then for no reason after entering playmode my materials are all pink and I notice that the Substance is empty. I have to reimport which make me lose all my custom shader properties. That's a deal breaker for me.

    To prevent this and move forward with my prototyping I thought, ok fair enough. I'll export my substances as regular texture like I was doing in Unity 2017 and just create a Unity Material. Losing some of Substance's benefits but at least I can work. NOPE. No export like 2017. Or I didn't find it. Was this removed? Is there a way to export the textures like before?

    Thank you for your support.
     
  40. Deleted User

    Deleted User

    Guest

    Hi,

    I'm sorry for these issues. We are working hard to get the next update ready with mobile support. The current plugin doesn't yet have the export texture option. We will be adding it. However, a user in the community made a very useful extension for our plugin. They added the ability to export textures. Please check this link. https://forum.allegorithmic.com/index.php/topic,24110.0.html

    Cheers,
    wes
     
    syscrusher likes this.
  41. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    My substances work ok in my project but if I move the project to another PC they all go purple, anyone know how to fix that ?
     
  42. Nicate

    Nicate

    Joined:
    Jul 18, 2018
    Posts:
    16
    Will custom outputs be supported? For example, I've packed roughness, metallic, and height into the RGB of a separate texture. This output is not generated by the plugin. I understand that it's going to be difficult to create a standard shader material from that, but it would be useful to have access to non-standard outputs so they can be used with other shaders.

    I'm also getting

    Code (csharp):
    1. AssetImporter is referencing an asset from the previous import. This should not happen.
    when reimporting a SBSAR that had its outputs changed. And a

    Code (csharp):
    1. IOException: Sharing violation on path <redacted>.sbsar
    2. System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) (at <e1a80661d61443feb3dbdaac88eeb776>:0)
    3. System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) (at <e1a80661d61443feb3dbdaac88eeb776>:0)
    4. (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
    when exporting a SBSAR to the Assets folder while Unity is open. This appears to occur after the "Substance archive publish options" dialog is opened but before confirming the dialog.
     
  43. f1chris

    f1chris

    Joined:
    Sep 21, 2013
    Posts:
    335
    Hi Wes,

    On a more serious tone today ;-) when can we expect the Mobile Substance plugin !?
     
  44. Deleted User

    Deleted User

    Guest

    Hmm, that is strange indeed. We have tried to replicate this on other machines and I can't seem to repro this. Are you just copying the entire Unity project to a new machine?
     
  45. Deleted User

    Deleted User

    Guest

    We are finishing up mobile support now : ) I can say it will drop in the next update for iOS and Android. I don't have an ETA I can share just yet, but it will be the next update.

    Cheers,
    Wes
     
  46. Deleted User

    Deleted User

    Guest


    Hi,

    Custom outputs work currently. I show that here in our docs for working with HDRP. https://support.allegorithmic.com/documentation/pages/viewpage.action?pageId=172818842

    You just need to enable the Generate All Outputs to have your custom output map generated. You can then drag that output to any custom material or shader.

    I'm checking with the dev team on the errors you reported. We were able to repro this issue and will get it fixed.



    Cheers,
    Wes
     
    Last edited by a moderator: Jul 20, 2018
  47. f1chris

    f1chris

    Joined:
    Sep 21, 2013
    Posts:
    335
    Thanks for your answer and your patience. I promise I won’t ask again until it drops. ;-)
     
  48. Nicate

    Nicate

    Joined:
    Jul 18, 2018
    Posts:
    16
    Sweet, thanks Wes!
     
  49. Nicate

    Nicate

    Joined:
    Jul 18, 2018
    Posts:
    16
    Hello again, I've encountered what appears to be be somewhat of a bug as well:

    If you tick "Generate all outputs" and create more than one material/graph instance with the little plus button in the substance inspector, all new instances seem to work just fine, but the very first one (the original) has generated maps for all the instances. Only one additional texture is actually generated per instance per output, and clicking any of the superfluous textures in the inspector of the original graph lights up the respective linked texture in the project explorer. The names of the superfluous outputs under "Other texture(s):" in the inspector of the original graph match the names of the textures that are generated (for example, substance_normal_2).

    So, not exactly game breaking but I thought you'd want to know.
     
    syscrusher likes this.
  50. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    Yes thats what I do. Im almost at the end of my tether with substances breaking, im having to go through remove them from the game, they're far more hassle than they're worth since unity depreciated them from the editor. Id say many thousands of people will be feeling the same way since the transition was handled so sloppily and is still not working.

    EDIT; Im sorry for my negative attitude, it all comes from the fact that I have to move this onto my laptop while I travel for 2 months. And that means purple everywhere ;-/
     
    Last edited: Jul 23, 2018