Event Dispatcher crash editor/game

I’ve attached one map and one actor blueprint. Add them to any project in 4.7 preview 2. There are 4 possible outcomes:

  1. Map will not load (will crash
    editor)
  2. Map will load, but play
    (PIE) will crash editor.

3.Map will
load, play (PIE) will work, but
Event Dispatcher will not work.

4.When
you try to delete Event from level
blueprint, it will crash editor.

The problem is an Event added to level blueprint, that is attached to actor’s Event Dispatcher. If you manage to delete Event from level blueprint, you may try and add Event once again. It will work perfectly, during current editor session. To check this, start the game and point the center of the screen at the actor called “Line of Sight”. It should print “hello” on screen. However when you save the level, and restart the editor, it will crash as described above.link text

EDIT: Actually, i’ve just found more details on it. When Event is added from Scene Outliner (right click Actor, select Add Event), it will work. When Event is added from Blueprint (when actor is selected), it will not work.

Hi Esidar,

You will need to make sure that you Bind the Event in the Level Blueprint. Not doing this can cause instability in the blueprint.

26157-eventdispatcher01.jpg

For more information on how and why this needs to be done, check our the link below.

https://docs.unrealengine.com/latest/INT/Engine/Blueprints/UserGuide/EventDispatcher/index.html

Cheers,

TJ

Events are bound. The problem is with one of the binding methods. As seen here: https://docs.unrealengine.com/latest/INT/Engine/Blueprints/UserGuide/Types/LevelBlueprint/index.html#referencingactors

Adding an event from “Details” window, will work, but adding event from “list of events” as seen in a part starting with “Alternatively, once you have your Actor selected:” will not work (once you save and load a level).

This has been fixed internally, but the Event that is created when you make an Event Dispatcher should not be able to be called directly. It should throw an error. This is the root cause of the crash.

Using a Custom Event that is bound (pictured above) is the correct way to accomplish this.

26454-eventdispatcher02.jpg

Hi guys,

I’ve seemingly been experiencing the same problem described here, and the above solution worked. However, I’ve set up a number of dispatcher events in Level Blueprints as described below:

“A special type of Event Dispatcher event can be set up in the Level Blueprint, and it is the one case where an event is automatically bound to the Event Dispatcher. These events are created with the same steps as the default events such as OnClicked or OnOverlap events.”

Will the above no longer be possible, and if so, does this mean that all of my current dispatchers will need to be changed to be bound manually? Note that none of the others are currently causing crashes, but if that’s a possibility then it could cause issues down the line.

Thanks,

Dan.

Hi Saarlem,

Could you post a screenshot showing the special type of Even Dispatcher you mentioned? I just want to make sure I’m duplicating it correctly.

Hi TJ,

The image below is the event created in the Level Blueprint, from the blueprint class “RobotArmControl”; RobotArmControl contains and is calling the dispatcher.

Thanks.

26785-eventdispatcher.jpg

I’m sorry it’s been a few days since I responded. I believe this method of using Event Dispatchers will continue to work correctly. I tested this setup in our latest internal build (which is quite far ahead of the latest released build) and it works just fine.

However, keep an eye out on the release notes that we post on the Forums with each release. If changes are made to Event Dispatchers that could effect this functionality, it will be listed there.