Hello, I am making a paper 2D old school beat em up, and i’m setting up LAN multiplayer. After all my trials and tribulations I’ve almost got it figured out with one last problem. the way the game is supposed to work is you select a 1 of 4 playable characters (only 2 of which are implemented) and then both players join the game. however the client players sees whichever character the server chose, and their flip-book doesn’t update with the blend-space i set up. (pictured below). after some investigation, I believe the problem is that the client player’s blend space fails because they don’t have authority dispute the fact that I have the custom event that runs “change sprite” set to run on server. It’s really frustrating that I know enough about UE4 to understand the problem but not enough to fix it. Any and all advice is appreciated, thank you for your time.
It may be related to the fact that you’re re-setting the flipbook 60 times per second.
If I recall correctly, Flipbooks update which frame of animation they’re on to change the current sprite as dictated by the animation you set up in them.
I imagine re-setting the Flipbook every Tick might also re-set which frame it’s on.
But you said you had trouble making it select a different flipbook altogether, not that it wasn’t animating, so I’ll see if I can answer that question.
I see it makes a call to the Server to change the sprite on the server side, but I don’t see whether that change is replicated back to all the clients, so it’s probably changing on the Server but not anywhere else.
You’ll need to make an additional Event that runs on Client or Multicast, that is triggered by the Server once the Server gets the Client’s request to change the sprite. To prevent a delay on the client side, waiting for this round-triip, also set the Sprite on the Client side just before doing the Server Event call from there.
Although I think that will fix it, you may need to optimize this and rearrange the way you change flipbook animations to only happen when necessary, instead of every tick, so you don’t cause a network traffic jam.
But first I think get it working so it goes Client change sprite → Tell Server to change sprite → Server tell all other Clients to change sprite (this last step needed if you have more than 2 machines networked).