Hi there,
I’m working on a group drawing app. The idea is that one client can draw to a render target, and then the second client will be able to see that render target update in real-time and vice versa.
I have created a setup, where a new render target 2d is created and stored to a variable in a replicated actor. However, when one client makes changes to it, it doesn’t update on the other, and I just can’t figure out why. I am able to successfully replicate other more simple datatypes, booleans, floats, etc. - just not a variable containing the render target.
I dont know. I wonder if the rendertarget variable you are replicating is actually a pointer to a memory location on your own computer instead of a unique id across the network.
Either look into it in the engine source code, for the rendertarget class (whatever it’s called), or ask someone who has looked into the engine source code. Sorry I’m not one of those people yet (maybe someday!)
You can see if it’s nothing more than a pointer based on how the class and its variables are declared.
Also look into how replication is done . You’ll have to see how Blueprints expose the C++ behind that for Custom Events that are set to replicate and when variables replicate. Find out if they just pass it as-is or attempt to get a unique ID for network to match it up with the same object on another machine.
Might be easier to ask someone like eXi / Cedric Neukirschen
Built-in Multiplayer Replicated Texture without external network system ( HTTP, website … )
Texture replication is available for Windows, Android, iOS, Oculus, Linux.
It works on Listen / Dedicated server.
Bandwidth usage is optimized, the texture data sent via network are compressed using external image compression library and then uncompressed when received.