Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - -kg-

Pages: [1] 2 3 ... 25
This seems to have been introduced in earlier versions of 2021.1.x and was fixed but when you have the Substance plugin installed, you still get the error.

Based on the other threads, I'm going to guess that we need to wait for the new version of Substance. 

See the original defect:

Verified the issue on:
Unity Editor - 2021.1.6 and 2021.1.7
Substance in Unity Plugin - 2.4.5 and 2.5.4
MacOS (based on the original defect, it seemed to be a defect that affected Macs only)

Steps to reproduce:
  • Install Unity 2021.1.7
  • Install Substance Plugin 2.4.5
  • Import any image
  • Select the image in the editor
See the following error:
InvalidCastException: Specified cast is not valid.
  at UnityEditor.TextureImporterInspector.get_textureInspector () [0x00000] in /Users/bokken/buildslave/unity/build/Editor/Mono/ImportSettings/TextureImporterInspector.cs:119
  at UnityEditor.TextureImporterInspector.DrawPreview (UnityEngine.Rect previewArea) [0x00009] in /Users/bokken/buildslave/unity/build/Editor/Mono/ImportSettings/TextureImporterInspector.cs:1597
  at UnityEditor.PropertyEditor.DrawPreviewAndLabels () [0x0050f] in /Users/bokken/buildslave/unity/build/Editor/Mono/Inspector/PropertyEditor.cs:1310
  at UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) [0x001df] in /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.u
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.UIElements.IMGUIContainer:DoOnGUI(Event, Matrix4x4, Rect, Boolean, Rect, Action, Boolean) (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/IMGUIContainer.cs:360)
UnityEngine.UIElements.IMGUIContainer:DoMeasure(Single, MeasureMode, Single, MeasureMode) (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/IMGUIContainer.cs:815)
UnityEngine.UIElements.VisualElement:Measure(YogaNode, Single, YogaMeasureMode, Single, YogaMeasureMode) (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/VisualElement.cs:1539)
UnityEngine.UIElements.VisualElement:<AssignMeasureFunction>b__203_0(YogaNode, Single, YogaMeasureMode, Single, YogaMeasureMode) (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/VisualElement.cs:1523)
UnityEngine.Yoga.YogaNode:MeasureInternal(YogaNode, Single, YogaMeasureMode, Single, YogaMeasureMode) (at /Users/bokken/buildslave/unity/build/External/Yoga/csharp/Facebook.Yoga/YogaNode.cs:689)
UnityEngine.Yoga.Native:YGNodeMeasureInvoke(YogaNode, Single, YogaMeasureMode, Single, YogaMeasureMode, IntPtr) (at /Users/bokken/buildslave/unity/build/External/Yoga/csharp/Facebook.Yoga/YogaNative.bindings.cs:146)
UnityEngine.Yoga.Native:YGNodeCalculateLayout(IntPtr, Single, Single, YogaDirection)
UnityEngine.Yoga.YogaNode:CalculateLayout(Single, Single) (at /Users/bokken/buildslave/unity/build/External/Yoga/csharp/Facebook.Yoga/YogaNode.cs:665)
UnityEngine.UIElements.UIRLayoutUpdater:Update() (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/Renderer/UIRLayoutUpdater.cs:51)
UnityEngine.UIElements.VisualTreeUpdater:UpdateVisualTreePhase(VisualTreeUpdatePhase) (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/VisualTreeUpdater.cs:155)
UnityEngine.UIElements.Panel:UpdateForRepaint() (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/Panel.cs:940)
UnityEngine.UIElements.Panel:Repaint(Event) (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/Panel.cs:985)
UnityEngine.UIElements.UIElementsUtility:DoDispatch(BaseVisualElementPanel) (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/UIElementsUtility.cs:446)
UnityEngine.UIElements.UIElementsUtility:UnityEngine.UIElements.IUIElementsUtility.ProcessEvent(Int32, IntPtr, Boolean&) (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/UIElementsUtility.cs:209)
UnityEngine.UIElements.UIEventRegistration:ProcessEvent(Int32, IntPtr) (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/UIElementsUtility.cs:74)
UnityEngine.UIElements.<>c:<.cctor>b__1_2(Int32, IntPtr) (at /Users/bokken/buildslave/unity/build/External/MirroredPackageSources/com.unity.ui/Core/UIElementsUtility.cs:28)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)

(Filename: /Users/bokken/buildslave/unity/build/Editor/Mono/ImportSettings/TextureImporterInspector.cs Line: 119)

Hey @wheee09 ,

Unfortunately the current version of the Substance in Unity plugin (2.5.4) does not support Unity 2021.1.6/7. The regression of this issue may be related to that. Apologies for the inconvenience. :( We are working to release the new version of the Substance in Unity plugin ASAP.

I had really high hopes, when seeing this line in the newest release notes for plugin version
Updates to the compression settings in the UE Editor are not applying

Unfortunately after updating to the latest plugin version, the issue remains:
Calling a substance sync rendering at runtime will always render the normal map as BC5 Format (with Artefacts)
Ignoring any of these compression related settings in the texture asset:
  • Compression setting
  • Lossy Compression amount
  • Compression quality

@Thibaud Van Vreckem ,

Hmm apologies for this issue! I will bring this up with the devs today to find out what's going on. :)

I solved it by myself now. Here is the solution, if somebody has the same issue in the future:

I opened the Substance Graph Instance of the Material which resets itself everytime. I deactivated every single output slot of it. Every time I ejected an output, the input graph window closed itself on me. But the unchecked Box remained unchecked. I repeated it for every slot it had. Then I activated every output again. Once I had the Textures created inside the same folder of the graph instance (which is not preferred by our pipeline) I moved them to the textures folder, saved everything. And it works now. The Textures wont get reset anymore.

I dont know if it was a *.uasset error of unreal, since the files were saved before... Or it is a problem with paths from the Graph Instance...

Since the beginning, we separated the 'Instance Factory' together with the 'Substance Input Graphs' and moved the created Textures to its own folder.

Assets -> Materials -> Substance (<- IF & SG)
Assets -> Textures (<- Textures)

While we don't want to have any issues with that in the future, we won't use substance graphs inside unreal anymore and use the player to create the desired outputs, to create a 'baked down' Material.

Hey @EST_SB ,

Apologies for the issues you are having! I will take a look into this. Although I am glad you were able to find a sustainable solution to your issue. :)

I was working yesterday with UE 4.26.2 and current Substance Painter.
The exchange worked, but it is not supporting UDIM.
I have exported an FBX with the plugin, that had 3 UDIM tiles, they were visible in Substance, but the project was not set on "UDIM" workflow and this can't be changed.
(and yes, "Virtual texture" is activated in UE)
Please let me know, if there is a fix or if I am overseeing something.

Hey @BeneZwo ,

The Substance Livelink in Unreal part of the plugin does not support UDIMs at this time.

@KG Thanks for the info. Does it mean you have create a folder you're self, then export out of SubstanceSource so the
materials and graphs+textures get stored into that folder?

It doesn't create a folder on the fly when you export to Unreal? is that correct? Thanks for you're help.

@decorix  ,

Correct. Substance Source does not automatically create any folders for you. If I create a folder called "Brick" then download from Substance Source using the Substance Launcher, then my downloaded brick Substance Material + textures + Substance Graph/Instance Factory will be put in that folder.

Any other Substance materials downloaded with that folder open in UE4 will also download to that folder, unless you have another different folder open at the time of the download. Substance Source will send the download to whatever folder you have open. :)


I'm on UE 4.26. I'm not using a substance plugin, I'm importing textures from designer 10.1.2 build 3518

Have you tried changing the compression settings in UE4 on the Normal Map?


I have a question. When I'm in SubstanceSource and select a material for export to Unreal it exports the material (example Metal) into a folder, when I export second material example (wood) it also exports it to the same folder. Is this correct? Or can you export to seperate folders? Is that possible? So each material into seperate folder. Thanks in advanced.

@decorix ,

Whatever folder you have open at the time of the download is where the Substance Source asset will be put into. :)


I'm working on a project where most of my materials are generated at runtime using Dynamic Material and Dynamic Graph Instances.

I'm doing it that way so I can have some per object personalization, like changing color, roughness etc without having to manage multiple graph assets.

My doubt is: what is the best way to manage these graph instances so I can minimize my vram usage.

A situation it might happen, for example:

A 3 store building with 9 similar apartments, each with 3 identical showers. For each shower, my blueprint would create and render a graph instance, so, 81 identical graph instances rendered (3 x 3 x 9, I'm not considering level streaming). Is there an already implemented way to optimize this situation?

In addition, substance unreal documentation mentions a "generation mode". Is that deprecated?

Hope I made myself clear.

hey @Bruno Thiago Rego Valeriano Silva ,

The option to change generation modes was removed when we added material instancing since we're using UTexture2Ds. The optimization is done on the UE4 side rather than our side now.

Substance Integrations - UE4 - Re: Generation mode
 on: April 23, 2021, 12:10:39 am 
I've searching about this generation mode that the documentation mentions, but I can't figure out how this setting works now. Is it gone?

@Bruno Thiago Rego Valeriano Silva ,

The option to change generation modes was removed when we added material instancing since we're using UTexture2Ds. The optimization is done on the UE4 side rather than our side now.

The construction graph, the material template and the substance graph are attatched below.

ue4 crashes when compiling.

@Bruno Thiago Rego Valeriano Silva ,

Can you post a crash log for the crash you're getting? :)

Same thing here. I was updating from 4.26.1 to 4.26.2 and my project won't open anymore. Fatal error on substance texture missmatch. Any news on this?

@milovanovic ,

Do you have a project pre-update that we could use to reproduce this issue?


Trying to figure out why my normal map looks so different in unreal vs designer.  Normal map is direct X, colour space is linear, I've 'normalised' the normal map in designer,  compression in Unreal is set to Normalmap/ no SRGB. :/

image attached

Hey @c.riley,

What version of UE4 and Substance plugin are you using?

Ping...  :)
Trying to get this Substance tutorial to work, but we can't find these nodes to complete the tutorial.
Can anyone at Substance point us in the right direction?

Missing Nodes:
'GetChannel' (Step 12)
'Switch on ESubChannelType' (Step 11)

hey @jeremiah.washburn ,

Apologies for the delayed response! The process has changed since we refactored the plugin. Here is the new process to create a dynamic material instance:

Hope this helps :) Let me know if you have any questions or if I can help further!

Hi gurus,

 Im using unreal engine 4.26 for a project. When i send to substance painter from ue4 using live link, when the mesh comes from ue4 into substance painter I want to be able to use the "uv tile workflow" for that mesh so that i can paint stencils and details on etc... As standard, the mesh isnt imported using the UV Tile workflow, is there any way to change that ? i need to paint using stencils but cant at present because of the way the mesh comes into substance painter.
The image represents the workflow im looking for!

Hey @Jamesgti19 ,

The UE4 live link plugin does not support UDIMs sent from Substance Painter, it currently only works with one UV set.

thank you.

until now i was completely oblivious to the existence of the substance launcher;) very cool!


@DanH71 ,

No problem! Feel free to reach out if you have any other questions. :)

Pages: [1] 2 3 ... 25