I’m currently using the websocket module in #include “IWebSocket.h”
All that has been working fine for months.
Recently I’ve been trying to extend the receiving of those messages to an actor component via an unreal interface.
The full pipeline is simple and looks like this.
->OnMessage() Delegate in websocket is called
->Message gets put into a variant struct type
->Interface function is called on objects who implement and passes struct to Object
->Implemented function on called Object calls it’s multicast delegate passing through the variant struct to whoever is bound to the delegate
->Blueprint function on actor is called because it’s bound to the multicast delegate on the actor component
With my unit test calling OnMessage() directly from somewhere in the editor this works as intended every time
Whenever I get a message directly from the websocket interface - everything seems correct (Stepping through with breakpoints in VS, everything checks) but it never gets called in the actor. Additionally for debugging purposes, before I call Broadcast() on the delegate on the component, I am printing the BoundObjects array and the actor who has assigned the delegate on the component IS BOUND and is the correct actor!! Same issue in editor and in PIE. I can also confirm the object isn’t being created again or duplicated for the construction script at any point of the delegate binding.
Not entirely sure what the issue here is. Any helps or suggestions are appreciated!