BP Function Library gives randomly Transient_REINST issues

Hi,
I’m using a couple of blueprint function libraries in my game.

When I start the engine, I usually have issues with Transient_REINST when using functions from “blueprint function library” blueprints nodes.

For fixing the issues I have two workarounds:

  1. delete the offending nodes and redoing them
  2. recompiling the blueprint function libraries

I have seen this bug (or similar) several times in answerhub. Is this fixed in any development branch?

BTW. I’m using 4.6.0 engine

I haven’t tried in 4.6.1

Right now I try to avoid using blueprint function libraries …

BTW has 4.6.1 adressed this issue?

Actually Its quite likely I have moved all these blueprint around.

BTW How can I ensure there is no any redirector messing ? Can I remove all redirectors somewhat?

Hi Dredok,

Does this occur if you get the 4.6.1 hotfix?

It isn’t directly listed, however I have seen in the past that some bugs are unintentionally resolved during hotfixes so it is a good idea to try it. Additionally, did you move the function library or are they still in their original locations? If so the redirector potentially broke and this can be resolved by manually re-referencing that uses the function library.

Once you manually rereference, to remove the redirectors all you have to do is go into the windows filepath the object was in. You will find a 1kb redirector file that can simply be removed from the editor. Please try this and let me know if this resolves your error. Thank you!

so you mean to manually delete the file in windows explorer?

Yes, the redirector should be manually deleted through the windows explorer by going to \Unreal Projects\PROJECTNAME\contents\FOLDERNAME\ and finding the 1kb file located there.

Hi Dredok,

We have not heard from you in quite some time. I am marking this thread as answered for tracking purposes. If you are still experiencing this error, please comment with the requested information.

I still have this error, should I open a new question for it?

More details:
I’m have a blueprint library in a cyclic dependency. As I understand, thouse should be fixed now. One funciton of the library is used by a MeleeChracter to find other enemies of the class MeleeCharcter, hence the cyclic dependency.

I looked for redirectors, since I now that the library has been moved from its original location. However, I deleted the folder in which the library orignally was, so there is no redirector to be found.

This is the error message the compiler gives:

Error The current value (/Engine/Transient.REINST_FunctionLibrary_C_1) of the ' Target ' pin is invalid: /Engine/Transient.REINST_FunctionLibrary_C_1 isn't a FunctionLibrary_C (specified on pin self)

“FunctionLibrary” is the name of my blueprint function library. The node which fails to compile does not have a ‘Target’ pin.

Suggestions?

I highly recommend removing the cyclic dependency anyways. What we fixed was that we made sure cyclic dependencies are not going to crash the engine or cause lasting damage, they are still not considered a good idea for code/scripting and should be avoided at all cost as they can cause other unintended consequences. I would move away from cyclic dependencies as soon as you are able. Have you tried re-referencing the blueprint library to see if that fixes the error?

Ok, thanks for the info.

Well I could copy-paste the function code from the library to this one blueprint, so it’s not a critical issue.

When I delete the node and create it again, it works until I restart the editor.

I also experience this issue. I have to recompile my function library every time I restart the editor, otherwise I get these Errors in other blueprints.

http://puu.sh/gEzxY/489f6344c1.png

I just have very general functions in there, like “GetClosestActorOfClass” or “SetAllItemsInArray” or “IsValidBuildPosition”.

Can you show me the specific functionality you are using in your function library?

Sure:

This function is used on many different occasions; usually in order to select only friendlies or only enemies from an array of MeleeCharacters.

I was looking over this and noticed on your add node that you have a pass by ref pin. Try recreating the add node without any pass by ref and see if that solves the error. In this function, the pass by ref is unnecessary and should not be there.

I’m sorry, what exactly do you mean with ‘pass by ref pin’?

If you mean funciton input and output, ‘pass by reference’ is unchecked everywhere.

Or do you mean the Add-Node for the array? I don’t see how I could do that differently.

If you create another add array, it should look like this:

35068-addarraynopbr.png

That is the normal input pin for the array, currently yours is:

35069-addarraywithpbr.png

Which is attempting to feed information back to your cast to node, but that isn’t actually doing anything and could be causing the error you are seeing. If you switch the add array to an add array node that does not have the pass by reference, it should work. If you did not intentionally have the PBR, this may have altered during conversion, which might explain why you are now getting errors. During testing, we tried this:

This produced no errors.

Oh, I didn’t know about this. That’s actually a really cool way to indicate it.

Anyways, I tried creating a new add node with a round pin and it worked. However, once I restart the Editor, it’s rectangular again. Strange.

One other thing I noticed: When I start the editor and go to the Library first, compile and save it again, the error in the other blueprints doesn’t occur.

Additional info:

“InChars” is an array of Actors, “OutChars” and “ReturnTeam” is an array of MeleeCharacters. MeleeCharacter is a child class of actor and also parent to some other classes.