Signature Error: The function/event '' does not match the necessary signature - has the delegate or function/event changed?

Hi

I’m currently trying to make an Asynchronous “EOS Find Sessions” Node in C++ and I’d like to return a TArray as an output. The FEOSFindSessionResultStruct is custom which currently holds two FString Properties.

Allthough it’s possible to compile the code in Rider I am unfortunately getting an error when trying to compile the node in the graph view like so:

The code behind it looks like this:

I tried looking up the error in google and all I found was this Thread but the solution there was that the delegate parameter was named ‘self’ but I am using a different naming for my parameter, so I am wondering if the naming is the issue or is there something else that I’m missing?

Any input would be very much appreciated

I figured, closing Unreal Engine and reopening it solved the Issue. It seems to be a struct related issue when changing signatures to use structs.

My guess is that this is a hot reload related issue or bug…

I have this issue and it is not solved by restarting the project. even worse it didn’t go well with regenerating the project files and rebuilding the solution.

Hi! Did you solve it? I am in the same situation…

Sorry for the late reply.

For those still struggling, try deactivating the checkbox “Automatically Compile Newly Added C++ Classes” from the “Editor Settings->General - Miscellaneous” and then restart UE and the IDE (Rider or VS).

Now when compiling inside the IDE there should be less issues with structs reloading in UE. You might have to restart UE after each individual compilation since hot reload is disabled.

If the Project won’t open in UE anymore then try opening the project in the IDE (without UE being opened) and compile the project from there. After the compilation has been completed try restarting UE and see if the project can be opened again. At least that’s what worked for me a couple of times.

Also please note that this is only my suggestion and doesn’t garantuee a fix for your issues.

If none of that works then you might need the help of an Epic Games employee/developer :thinking:

Hope it still helps :slight_smile:

P.S. If you have access to the Event Graph that has the Struct Node then try right-clicking on it and selecting “Refresh Nodes”.

2 Likes

Funny enough i’m also stumbled on this while doing async wrapper for oss\findsessions.

But in my case i just forget to return array as const ref.

So, as it was, incorrect:

DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FAsyncAction_CommonSession_FindSessionsCompleted, bool, bSucceeded, FText, ErrorMessage, TArray<UCommonSession_SearchResult*>, Results);

Correct way:

DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FAsyncAction_CommonSession_FindSessionsCompleted, bool, bSucceeded, FText, ErrorMessage, const TArray<UCommonSession_SearchResult*>&, Results);

note: UCommonSession_SearchResult is an UCLASS(BlueprintType)

19 Likes

I couldn’t solve it with your solutions, I have declared a dynamic function that has a vector array parameter, I have tried all of your solutions but I couldn’t solve it


image

Then I discovered that I forgot the reference sign “&” or the output sign according to unreal’s c++

Can confirm dynamic delegates with an array payload should be marked as const refs in c++.

1 Like

i get this bug in BP only too, i just have to delete and/or refresh nodes but it happens every time i start the engine, very annoying. I’m only using standard variables too, no structs or arrays

1 Like