[UE5.2]How to fix Interchange errors? Can't reimport textures. Nodes disappearing.

I’m getting the following errors related to Interchange. It works fine when importing. But when I reload the project, everything related to Interchange fails. This means I can’t re-import any textures as the Interchange “Pipelines” property is empty.

LogLinker: Warning: [AssetLog] Q:\Projects2\TowerDefense\Content\TowerDefense\Meshes\Guns\Lightning\Lightning-Level3UV2.uasset: VerifyImport: Failed to find script package for import object ‘Package /Script/InterchangeFactoryNodes’
LogLinker: Warning: [AssetLog] Q:\Projects2\TowerDefense\Content\TowerDefense\Meshes\Guns\Lightning\Lightning-Level3UV2.uasset: VerifyImport: Failed to find script package for import object ‘Package /Script/InterchangePipelines’
LogLinker: Warning: [AssetLog] Q:\Projects2\TowerDefense\Content\TowerDefense\TowerArea\MAT_GlowArea.uasset: VerifyImport: Failed to find script package for import object ‘Package /Script/InterchangeImport’
LogEditorDomain: Display: Class /Script/InterchangeFactoryNodes.InterchangeTexture2DFactoryNode is imported by a package but does not exist in memory. EditorDomain keys for packages using it will be invalid if it still exists.
To clear this message, resave packages that use the deleted class, or load its module earlier than the packages that use it are referenced.
LogEditorDomain: Display: Class /Script/InterchangePipelines.InterchangeGenericTexturePipeline is imported by a package but does not exist in memory. EditorDomain keys for packages using it will be invalid if it still exists.
To clear this message, resave packages that use the deleted class, or load its module earlier than the packages that use it are referenced.
LogTurnkeySupport: Completed SDK detection: ExitCode = 0
LogMaterial: Warning: [AssetLog] Q:\Projects2\TowerDefense\Content\TowerDefense\TowerArea\MAT_GlowArea.uasset: Failed to compile Material for platform PCD3D_SM6, Default Material will be used in game.
(Node OneMinus) Missing 1-x input

Why am I getting these “warnings”? Why is everything related to Interchange failing?

The errors you are seeing are related to a missing script package for the Interchange plugin. Make sure it is installed properly and is working for the current engine version you are running. It could also be that the plugin is dependant on another disabled plugin.

The failure to compile material seems to miss the invert 1-x node.

I’m building from source. What exactly do I have to install? I’ve never had to do anything extra before.

And the missing input to the 1-x node is caused by interchange not working on textures causing some kind of bug with the “Length” and “Append3” nodes. At least, that’s my theory so far. The nodes disappear when the material is in use and come back when not in use when reloading the editor. Exactly the same behaviour as the pipeline property in textures.

I tried to make a package of the Interchange plugin and I got these errors:

UATHelper: Package Plugin Task (Windows): Module ‘InterchangeEditorPipelines’ (Engine Plugins) should not reference module ‘InterchangePipelines’ (Plugin). Hierarchy is Plugin → Project → Engine Programs → Engine Plugins → Engine.
UATHelper: Package Plugin Task (Windows): Took 3.0083942s to run dotnet.exe, ExitCode=6
UATHelper: Package Plugin Task (Windows): UnrealBuildTool failed. See log for more details. (Q:\Projects\UE5.2\UnrealEngine\Engine\Programs\AutomationTool\Saved\Logs\UBT-UnrealEditor-Win64-Development.txt)
UATHelper: Package Plugin Task (Windows): AutomationTool executed for 0h 0m 3s
UATHelper: Package Plugin Task (Windows): AutomationTool exiting with ExitCode=6 (6)
UATHelper: Package Plugin Task (Windows): BUILD FAILED
LogSlate: Window ‘Plugins’ being destroyed
LogSlate: Window ‘Plugins’ being destroyed
LogDirectoryWatcher: A directory notification for ‘…/…/…/Engine/Plugins/’ was aborted.

edit: I’m looking at the log file and it’s including at least 100 plugins. At the end, it says there’s about 50 circular dependencies. And InterchangeEditorPipelines says it’s an editor plugin, not an Engine plugin as indicated in the logs.

Note this is from 100% clean build. It was cloned and build in a new folder.

I think I found a mistake in the InterchangeImport.Build.cs build script that causes a circular dependency on editor modules. I’m gonna try something and rebuild and see if I get anywhere.

But if anyone has any other ideas, please let me know.

edit: Nope. Still having the same issues.

At this point, looks like I’ll have to go back to UE4. UE5 simply isn’t stable enough.

1 Like

I’m sorry you are still experiencing issues. Hopefully someone else knows and can chime in on the subject! :slight_smile:

I asked in a bunch of different channels on Discord. No one knew what I was talking about. I got blamed that I didn’t know what I was doing at least once.

This is very frustrating.

I tried the official download of UE5.2 and loaded my project. Same issues.

edit: I started a new project in 5.2. I created a new material and recreated manually the exact same graph as before. I set it on a StaticMeshComponent and added the actor in the scene. Usually, when I reload the editor, the material will lose the “Length” node. But it worked this time.

There are only four things I’ve done on top of this.

  1. Imported a texture.
  2. Used Automotive Materials assets from the store.
  3. Used a certain effects package from the store.
  4. Used content from the UIMaterialsLab tutorial.

I’ll start trying one at a time and see which one breaks the build.

I think I found something, but it’s completely baffling.

I started adding one asset at a time to my new project and reloading the editor between each. Everything was working.

I have a character class where I added some class properties to use for selection actors, circle actor (around turrets to indicate the firing range for a tower defense game) and a “hole” actor for making a hole and raising turrets.

Well, when I set the translucent circle class property and I reload, my material graphs start breaking. Also, any textures in use also had their pipeline property set to null.

This is my property:

UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Selection)
TSubclassOf< AActor > RangeGlowClass;

If I set that value in the editor and reload, everything breaks. I don’t even use that value until you actually play the game. Just setting it in the editor and reloading the editor breaks everything.

I don’t get it. Is there anything wrong with that property?

I have three other properties just like it for other purposes and they work fine.

edit: It’s not just the property. It’s when I set it to an actor that uses a material with “Length” or a texture that I imported. The weird thing is I can put the actor in the scene and it works fine as long as I don’t set it in a property on the main character.

I have no idea why setting a property on the main character breaks everything. I tried setting it on a variable on another actor’s blueprint and it seemed fine. So I created a new C++ class and moved all my global game related properties to that class. I blueprinted it and plopped it in the level. I then just grab that actor once and cache it on any actor that needs it.

And so far, everything works.

I now have to go back and see what project I want to refactor and use. I’ve got like 5 of them now.

If there is a UE developer looking at this, here are the steps to reproduce:

  1. Create a new top down C++ project.
  2. Create a new material that uses the Length node. Try and make a circle. Make the material translucent. Not sure if that last part is necessary, but that’s what I have.
  3. Create a new Actor BP and add a plane. Make the plane the root component.
  4. Set the material you just made on the plane.
  5. Drop an instance of the BP into the level so you can see when it breaks.
  6. In the Top down character’s header file, add a property like so:

UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Selection)
TSubclassOf< AActor > RangeClass;

You can name it whatever you want.

  1. Compile the project.
  2. Set the RangeClass to the BP you made above.
  3. Save and exit editor.
  4. Reload the editor.

See the blueprint actor’s material is now broken. Open the material and the Length node is gone. Output Log will also show errors about Interchange.

Anyhow, there is a serious bug in 5.1 and 5.2. I hope someone notices soon because I have no clue why a property would do this.

1 Like

I tried to repro the steps and I did not get the disappearing node in the material graph with 5.2.0

Regarind your interchange pipeline issue, can you walk me through what you are doing?

Importing textures? or materials? or a FBX / gltf model?
Then do you modify it in UE?
Then you just close UE and reopen?

For the interchange bug, it’s the same as the other bug. You import a texture and you need to use said texture indirectly as a CLASS reference in either the Top Down character or a Widget.

So Texture → Material → Mesh Component → Actor → Class reference in Top Down Character

Or

Texture → Material → Image Widget → Class Reference to widget in a BP… say Create Widget node again in a Top Down character or in the graph of another widget that is in use.

The Texture needs to be in use in the level somehow.

It will work fine when setting up the first time. You need to save, close the editor and relaunch the editor. Then the texture will lose the pipeline properties.

I don’t think you need to change the texture. Mine were 4000x4000. I turned off sRGB and set it to generate mips. I doubt any of that affects anything. I think it will trigger the bug just by importing it and using a CLASS reference of an actor or widget that somewhere down the chain uses that texture.

Both these issues happen in the exact same way, so I suspect it’s just a side effect the same bug.

The worst part is I got this to happen with the downloadable binaries for 5.2, not just the source builds. It happens in 5.1 as well, but not in UE4.

edit: I now can’t use CLASS references in ANY widget. All widgets that have class reference to other widgets will have all those materials break if they use “Length” or “Append3” nodes (and any textures used will have their pipeline properties set to none.

Out of curiosity, am I supposed to be able to pick a pipeline? Even when things are working, there’s a name in the pipeline, but it’s not in the dropdown. No pipeline is ever in the dropdown. I can’t manually set that value ever, even in the binary download of 5.2.

What version of Visual Studio are you using? Something tells me this all started when I updated visual studio. Might be a compiler bug.

I’ll see if I can revert and try that.

Microsoft Visual Studio Professional 2022 (64-bit) - Current
Version 17.5.5

That’s what I’m using (well, community edition). Also, I just remembered I downloaded the binary install of 5.2.

I have some automation tests that are failing. Most of http related. But the other ones I’m not sure. I’m also seeing tons of warnings about package names being empty. I’m seeing this in my project logs as well. Not sure if that’s normal or not.

I can pick the pipeline but I think you are not supposed to need/do that.

Are you on Windows?

I just tried the steps I mentioned above and those steps make the “Length” node disappear. I was starting to think it was a memory overrun in my code but this rules that out. This is a fresh project. Zero additional code.

Why is my machine possessed?

Here is my plane with my material after step 7. Looks fine.

Here is my material. Can’t be much simpler than that.

Now, let’s set the class reference on the Top Down character.

image

Save, close and relaunch the editor…

I get a black material.

Let’s open up the material.

Woah! Where’s the Length node?

If I remove the reference in the Top Down Character and relaunch the editor, the Length node comes back.

BTW, this also happens if the CLASS reference is in a widget Blueprint.

So I can’t use the “Create Widget” node anymore by specifying the widget class directly. I have to store the class reference in another actor and reroute it to the Create Widget using C++ methods.

Why is this happening on my machine? It’s even happening with the binary download of 5.2.

edit: Yes, I’m on Windows 10.

edit2: If you click on the dropdown for the pipeline and you start typing “pipeline” in the search box, does anything show up for you? Even when my build is working, that dropdown is empty for me if I search for “pipeline”. I can’t even find the entry that is in the property itself. It’s not in the dropdown.

I repro the issue with the template top-down ( I did not use it before)

1 Like

Oh? You mean the top down game when you first create the project?

Anyhow, the fact that you reproduced it is incredible. It means I’m not going insane. lol
I just tried reverting the compiler to 17.5.1 and it didn’t change anything.

So what happens now? Should I create a bug report and make it explicit about creating a “Top Down” project?

edit: I also want to say a big Thank You for taking the time to look into it. I really appreciate it.