Undeletable event dispatcher created

Hi,

in my umg blueprint, there is one event dispatcher that is invisible from the list and one that I can’t delete or rename. Probably happened because the total name got too long or because the first one contains a period, don’t know.
Now if I compile my blueprint, I get a warning that I want to get rid of:

Warning No delegate property found for  Dispatch_BTN_Select.Atp
Warning No SignatureFunction in MulticastDelegateProperty 'Dispatch_BTN_Select_Atp'
Info Fast Template Successfully Created.

Could I edit the uasset file in a text editor, so I could delete both dispatchers from the blueprint editor - or will my file get corrupted this way?

Steps to reproduce:

  1. Create widget blueprint
  2. Create event dispatcher “NewEventDispatcher_abcdefg.hi”
  3. Drag event dispatcher in editor, select ‘Call’
  4. Rename event dispatcher to “NewEventDispatcher_abcdefg_hi”
  5. Refresh dispatcher node - name won’t change to underscore version
  6. Congrats, now you can’t delete or rename your dispatcher from the list

Thank you!
Even after the bug is getting fixed, the faulty delegates would stay in my blueprint. So what is your opinion on editing the uasset file to get rid of the problem, bad idea?

Hello cemas,

I was able to reproduce this issue on our end. I have written up a report and I have submitted it to the developers for further consideration. I have provided a link to the public tracker. Please feel free to use the link provided for future updates.

Link: Unreal Engine Issues and Bug Tracker (UE-45780)

Make it a great day

I would suggest using a backup file for the asset from before the Event Dispatcher was added. I have provided a link to the default location of the back up files below.

Default directory (C:\Users\YourUserName\Documents\Unreal Projects\YourProjectName\Saved\Backup)

I was able to repro this issue in 4.20. I created an event dispatcher in a BP called MLTotemRightOff and added a call and bind in the BP. I then renamed the event dispatcher to SimpleTotemRIghtOff and deleted the call and bind functions to the event dispatcher. Now when i compile the BP, I get a warning that "No delegate property found for MLTotemRightOff

I duplicated the BP and still get the same error. I cant find a way to resolve this

I’m seeing this in 4.21.0 right at this moment :open_mouth:

,I am having a similar issue with a created event dispatcher that got changed into a variable, I deleted the variable but now there is a ghost Event Dispatcher that I can not get rid of and I am not sure how to fix this within my game now because it’s in the backup file as well. It’s in my level BP any idea how I would fix this Please?!?

Seeing the same bug in 4.21.2, and ended up having to copy-paste across to a new UMD blueprint, and redo all the connections in the level blueprint. What a huge pain.

to get ride of this you can change the variable type of that event and then delete or rename it

I actually did that. Didn’t worked :confused:

Why is it marked as “fixed” in the bugtracker? It still happens in 4.20

This should not be marked as fixed, I’m still seeing it in 4.22.2.

Getting this in the Magic Leap build on 4.22 as well

I’m getting the same problem on 4.22.3
step to reproduce:

  • Create any blueprint

  • Create a dispatcher

  • Select the dispatcher and in the detail panel change it’s variable type from multicast delegate to anything

  • now you can’t remove the dispatcher

My quick fix
create an editor module add UnrealEd in the .cs add a blueprint function library

void UMyBPLibrary::RestoreBrokenDispatcher(FName VarName, UClass* InBlueprint)
{
	
	if (InBlueprint && InBlueprint->HasAnyClassFlags(CLASS_CompiledFromBlueprint))
	{
		if (UBlueprint* Blueprint = Cast<UBlueprint>(InBlueprint->ClassGeneratedBy))
		{
			if ((Blueprint->Status == EBlueprintStatus::BS_UpToDateWithWarnings))
			{
				FEdGraphPinType DelegateType;
				DelegateType.PinCategory = UEdGraphSchema_K2::PC_MCDelegate;
				FBlueprintEditorUtils::AddMemberVariable(Blueprint, VarName, DelegateType);
			}
		}
	}
}

Use this node in the affected blueprint.
Set varname to the error display e.g NewEventDispatcher_0.
Add a getclass node
Finally add a custom event to fire the node from the editor then you can remove your dispatcher

1 Like

Could you please elaborate more on this fix? I’m not well versed in ue4 c++ quite yet so I’m not sure how to “Create an editor module add UnrealEd in the .cs add a blueprint function library”

To create editor module: [Creating_an_Editor_Module][1]

To create a blueprint function library:
right click in your content browser → add new c++ class → select blueprint function library
don’t forget to select your module

I just had this happen in the most recent 4.26 version. How do I get past it?

Génius !