So im making a TitanfallVR game and currently I am working on some multiplayer stuff and running into some weird disparity between client and server.
So to give some context, for 1 particular mech the weapon can be charged up and upon firing will discharge before being able to charge again. Now the mech and its weapon are separate actors, and the weapon is a child actor of the mech. As shown in the images attached, the logic flow is that the player holds the trigger which sends a signal to the mech to start charging the weapon, the weapon is checking its charge every frame and upon reaching 100 it will shoot and start discharging. Now the issue is in the charging and discharging behavior.
For some reason, even though both charge and discharge are ultimately executed by the server only, depending on how I setup my nodes the client and server’s charge and discharge times would deviate. In my mind it makes sense to adjust them based on the server’s delta time so its consistent between client and server, but it doesn’t seem to behave in the expected way. Can anyone explain what is going on and why?