I have my character animation server-sided so I can match the animation with damage frames through animation events and its more safe that way
my problem is when the sword is idle, its welded to my UpperTorso and when i attack i change the weld to Right Hand (using animation events), and for some reason the animation is replicated normally on clients but the moment of weld changing is delayed in client, sometimes the character already almost done in animation before the changing of weld from upper torso to right hand even arrives, which makes it so goofy, are there any solutions to this?
Use a RemoteEvent to tell the client to change the weld at the same time that the server does.
it is always better to handle anims client sided since they replicate anyway, dunno about what type of security you are talking about
wont it be an issue if the client handles the animation events such as damage frame and sent that to the server telling the server to deal damage because exploiters can send as many signals with same task?
animation events arent good practice either lol, it skips frames sometimes
thats the current situation, server plays animation → client catches that and plays animation aswell → the server waits for the animation event that tells it to change weld → it reaches it and changes the weld → a very small internet delay → the client is still playing the animation just fine, but the changing of weld is delayed (since the animation doesnt lag on clients once it started playing, each animation keypoint is playing without lag, but the weld changing is delayed, therefore the animation is ahead of the weld changing)
so in short, theres no current solution to such problem?
solution is not using animation events but rather hardcoded number values, even if anim gets desynced it shouldnt interrupt game process