How to fix this error?

This error keeps tormenting me.
This is a bug that causes incompatibility with the same class type.
This happens when reloading assets, and making asset reloading a totally useless feature.
And since this error blocks to save my project, so if the fix fails i will have to start over from a backup.
Am I the only one this happens to?
Does anyone know anything about this problem?


Hi! It looks like you’re encountering an error in Blueprints related to Soft Class References. Specifically, the message “Array of P Base Soft Class References is not compatible with Array Of P Base Soft Class References” is telling you that Unreal Engine is having trouble with two seemingly similar types, but it’s treating them as incompatible.

Here are a few common causes and solutions for this issue:

First of All, you need to know this, Soft Class Reference is different to Class Reference
Ensure that you’re using the correct type of reference:

Class Reference: This is a hard reference to a class, meaning it will always be loaded in memory.
Soft Class Reference: This is a reference that is only loaded into memory when needed. Soft references are used to optimize memory usage.
Sometimes, Soft Class References and Class References might look identical but are handled differently under the hood. So, if one is a hard reference and the other is soft, Unreal will consider them incompatible.

What I recommend to you make double-check whether both variables or arrays are of the same reference type (both should be either Soft Class References or Class References). If they are not the same, either convert them or ensure you’re using the correct type for both.

Again, casting to the Correct Type
If you’re trying to work with both types in the same blueprint, you might need to explicitly cast between the two reference types. In Blueprints, you can convert between Soft Class Reference and Class Reference with the appropriate node:

Use “Convert to Class Reference” for Soft Class References.
Use “Convert to Soft Class Reference” if you need the opposite conversion.
This allows you to make them compatible.

Again, type Mismatch in Arrays
If you’re dealing with arrays, check if the array itself is of the same type. You could have two arrays that look like they hold the same kind of data but differ in their internal structure.

In according with this, check the exact data type of both arrays. Make sure both are arrays of Soft Class References or arrays of Class References. Mixing them (like having one be an array of Soft Class References and the other of Class References) will result in the error you’re seeing.

You can also Reset or Refresh the Blueprint
Sometimes, Unreal Engine may throw type errors due to caching issues in Blueprints. In this case, a quick refresh might help.

Right-click on the node with the error and choose Refresh Nodes.
Compile and save the Blueprint to see if the error clears.
At least but not at last, Ensure Matching Parent Classes
If both references are Soft Class References, double-check that they point to the same base class or a compatible class hierarchy. A mismatch in class types (even if both are Soft Class References) could still lead to an error.

Try these steps and see if any of them resolve the issue. Let me know if the error persists…
Cheers

So you can Compile it fine but it breaks afterwards?

First of All, you need to know this, Soft Class Reference is different to Class Reference
Ensure that you’re using the correct type of reference:

The image shows a soft reference, but this error can also occur with class and object types.
Soft Reference are not the point of the problem.

What I recommend to you make double-check whether both variables or arrays are of the same reference type (both should be either Soft Class References or Class References). If they are not the same, either convert them or ensure you’re using the correct type for both.

Both are exactly the same type.
There should only be one exist, but it “splits” when i reload.

Again, casting to the Correct Type

No cast is required because the class type is specified directly.

Right-click on the node with the error and choose Refresh Nodes.
Compile and save the Blueprint to see if the error clears.

This works most of the time, but in some rare cases it can get unresolved and i’ll have to start over from a backup.
Also, this is not a fundamental solution as errors will occur everywhere the reloaded blueprint is used.

No, after reloading i will get a ton of errors and it will be impossible to compile or save.

Not sure it’s related but I’ve seen similar issues, in my case it was the interface return that was to blame. Care to test it out by adding a brand new function with brand new attributes?

The reason for the failure to refresh the node seems to be due to the interface return.
But, I don’t know if this is the cause of the asset reload error.
Some Blueprints use interfaces and can be reloaded without error.
The blueprint itself is probably causing the error, but I don’t know which part of the blueprint it is.

Since it’s so bad, I’d look into replacing the interface with a new one and hoping :crossed_fingers: the issues does not manifest again. Or add a separate interface just for this operation, at least for now.

For now, I’ll check around the interface.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.