A plugin needs to connect to a socket server, then start a loop in which a texture is updated with data streamed through TCP/IP.
First, I use ConnectionSocket->Connect
Then I use
TFuture<void> ClientConnectionFinishedFuture;
and
ClientConnectionFinishedFuture = RunLambdaOnBackGroundThread(&]()
to start code when the connection is established.
Now in this backgroundthread block I update pixel data in an array, and call **UpdateTextureRegions **to put that data in the texture.
All I want to do is take that perfectly running code and put it in a function but when I do that the editor crashes asking for missing unreal-editor.pdb (so basically it’s crashing inside the Epic code not my plugin).
I am pretty sure this has something to do with threading, but normally (ex in C#) whatever thread/context you’re in, you can always put code in another function which is executed serially and within the same thread/context.
I cannot fathom why putting code in a function would break anything. Let me know if the information above is sufficient to have some clues.
Thanks