On average every 1000th event doesn't fire

Very rarely a event just doesn’t fire. I know this because I’m developing a turnbased multiplayer game and most of it is not replicated, so most is running locally and when a event fires for one player and not for the other player it is obvious and breaks the whole game because it becomes out of sync. It also doesn’t matter if it is a replicated event or a non replicated event, all events have a rare chance to not fire.
Where it is obvious is the selection of tiles which fires a event locally and one over the server to the other player and both events have a rare chance to not fire, so if one doesn’t fire it breaks the game. The only possible reason here is that there is a bug in the engine related to the firing of events or the variables those events send with them since the selections are passed with a vector position. I use debug dummys that get placed at those vector positions so I can exactly see if a event has fired and what was that vector location.

I use blueprint for my whole game. It is not the case that a lot of events fire at the same time, I let my AIs select the tiles with half a second in between. I’m testing it in editor with the 2 players option while both are controlled by a AI that controls the pawn. There is a lot of selection going and I just very roughly thought up every 1000th event as the average to not fire. Those events all lead to a different blueprint. I tried from the pawn to another blueprint and also from the other blueprint to the pawn with the problem remaining.

Some specific event?

There is really no event system, event in blueprint are really functions just cosmetically looks diffrent

Hi Davision,

Thank you for the report. I attempted to reproduce this by creating a blueprint that fires several custom events that slowly move the bp. Added several of them to see if at anytime they would become unaligned. However, I couldn’t get your results.

Could you reproduce your issue in a new project and upload it here? Try to keep the setup as simplistic as possible because that will help us pin down the issue.

Looks like I significantly improved it now, had the AI playing it for 10 hours, which was roughly 10000 selections but then it happened again. What I changed now is doing a non replicated event from the pawn to the other blueprint and in there sending it to the other player by using multicast and then a branch with “is server”. This is a setup where one player is the server and the other a client. For the client I had to first fire another event to go back to its owning pawn to get it to the server. But the event that didn’t fire was the multicast from server to client inside the other blueprint. So it doesn’t seem to be exclusively connected to pawn events. I’m running some more tests over the next nights, hopefully I can find a setup that makes the events fire every time. Otherwise I’m doing that new project reproducing.

No, can’t see anything specific in it, non replicated and replicated. But it is always only a event that is the chain of the pawn interaction yet it can be a event outside of the pawn that doesn’t fire. Well, it is very odd that a event very rarely doesn’t fire. Even if there are just functions there must fire something making it behave like a event.

Hi Davision,

Any luck creating a reproducible project?

I tested some more if I can find a workaround but no such luck but it seems I really improved it to a average of every 10000 events fired. The thing is a fix on your side will not help me much since I’m stuck with version 4.8 because a feature of the material system has been get rid of on purpose which I need for the post processing look. I’m gonna give it a shot with recreating it anyway, there is still a slight chance I find out something I guess. If all fails I probably could just send every selection twice as a safeguard and then both failing at the same time would be very unlikely but it is still a silly workaround.

Hi Davision.

I am going to resolve this post just for tracking purposes. If you do get a reproducible project or a workaround, just post a comment back here to reopen the discussion.

Cheers,

TJ