Hello.
I’m creating a battle arena style game from the third person perspective. Since I’m new to UE4, I decided to start with creating basic features before trying to do implement the multiplayer features. As you probably guessed, this was a horrible idea.
Now that I’m trying to implement the whole server/client structure to ready implementations, I’m utterly stuck. I’ve now used about 16 hours viewing networking tutorials and reading documentation, yet I’ve not discovered how to practically implement it in my case.
I’m looking for help with my spell cast system (spells are referred as artifacts in my game). I hope that when I clear this out, I can figure out how to refactor the rest of my project to support multiplayer myself.
Currently, the server side seems to show everything correctly. When playing with the server pawn, the cooldowns, cast times and artifacts themselves work correctly. Also, when playing with the client pawn, the artifacts seem to spawn and work properly in the server window, however, the cast times and cooldowns do not work.
The things that I don’t understand happen in the client side window. When I cast an artifact projectile with either the client pawn or sever pawn, they move in weird directions with either very fast or very slow projectile speed. However, artifacts that spawn in a target location work also in the client side.
In short:
Client side window:
1. With server pawn: Artifacts spawn but travel very slowly and weird directions. The pawn also does a weird jumping animation.
2. With client pawn: Artifacts spawn but travel usually very quickly and weird directions. Cooldowns and CastTimes are not working.
Server side window:
1. With server pawn: Everything works correctly.
2. With client pawn: Artifacts work correctly, however, the cooldowns and CastTimes do not work.
Below I’ve provided pictures about my current ArtifactCasting system located in the character blueprint. There I have just thrown the server custom event in the middle and I don’t have an idea how it should be properly implemented.