Blueprint still dirty after compile

Unfortunately I have been unable to determine the root cause so this might end up being a lengthy post.

I first observed this behavior when I collapsed part of my blueprint into a macro, would click compile, the compiler results would say compilation was successful but the compile button would still say the blueprint was dirty. When I closed my project and reopened it the compile button would say ‘all good’ but pressing it would change it to compile failed with message “The current value (/Engine/Transient.REINST_LootRarityLookup_C_1) of the target pin is invalid: /engine/Transient.REINST_LootRarityLookup_C_1 isn’t a lootRarityLookup_c (specified on pin self)”. LootRarityLookup is a function call to a blueprint function library ( will post blueprints a bit later ). Anyways, I got into a world or bad at this point (much like this [issue][1] ) and ended up restoring from backup and vowing not to use macros.

Now that I am seeing basically the same issue again (no macros this time) I figured it was worth a report. I added a number of new nodes to my blueprint (the nodes from useCalled to the timeline in PickupParentClass) and once again I observed that compiling would state that it succeeded but the button would state it was dirty and playing would warn me that the blueprint had an error. Also, removing the nodes which had an error on them would not solve the issue, instead it would just exhibit the same behavior even on reloading the project (as oppose to display an error on the initial compile).

The only additional information I can think to add (which I doubt it related, but might be) is that I have a lingering error on load from restoring from a backup which is ‘Failed import for attachementPoint_C /game/loot/Blueprints.PickupParentClass.PickupParentClass:attachementPoint_1’. I have had that error long before this one and didn’t seem to cause me an issue but I figured was worth a mention.

event graph of the blueprint in question is here (2 parts)

and the function which is being called (and sometimes thinks that there is an error) is here

Hi Ian,

Did the Lootraritylookup get moved in your content browser recently? If so try using the “Fix up redirectors” feature and see if that fixes it.

I haven’t moved that file but I still tried giving the fixup redirectors script a try as per this question but no dice. I also opened up the redirectors in the editor (as per here) but didn’t see any.

Have you reproduced this in a clean project with no additional content or is it limited to the one project?

I have not, since I haven’t figured the cause of the issue, I don’t know how I would go about reproducing it.

Can you send me a copy of the .uasset that is experiencing this error? I will be happy to take a look and see if I can see what is going on?

Here is the blueprint in question. Thanks!

it seems that the function from your images that is showing the compile errors is missing on my end. Was this a part of a function library, interface, etc?

It’s a function library which is here. I should note though, even when I remove the calls to this blueprint function library it still won’t compile.

If the node is removed none of the nodes shows an error but the blueprint still says it’s dirty.

Does the error switch to a different node if you remove the function library information? If so then this probably isn’t the problem.

Does the log show any specific errors or is it the same error as before?

Do you have a sample project you’d be willing to share where this occurs? Unfortunately I can’t get it to occur with the assets on my end so perhaps I am setting something up differently. I’d be happy to take a look!

@

I think you might be facing the same issue as mine

Try to check this out.
Duplicate the blueprint , select both and click AssetAction–> Replace Reference . If you get similar error I guess it’s due to transient reference bug is mentioned on the link I give.

It’s says that compilation was successful but as I mentioned the blueprint still says it’s dirty and when trying to play it says a blueprint has a compilation error. It’s very strange.

I do have a (the) project, can I PM to you? I did some testing and it seems that removing the cast to base gun class actually solves the issue. Which is great except I want to use that cast! It seems that actually having the cast in the blueprint seems to be the issue because even if it has no pins attached to it the blueprint will stay dirty as I described earlier.

Thanks for the tip, although I tried what you mentioned and it looks like we have different issue…

If you PM me the link on the forums I’ll be able to pick it up there. I’ll be happy to look and see what could be going on.

Hi ,

I believe I know what the error is. In your Blueprint GunBaseClass, the construction script has a break struct. There is a known issue, UE-12550, that breaks values of structs into random strings of numbers and letters, causing compilation errors. This bug has been fixed and will be in 4.8. Unfortunately there is no known workaround save to remove the struct information until the fix is implemented.