For a while now, ive been struggling on how to create an attack system. I have a general idea of how to replicate VFX between clients and how to create functional hitboxes, however, I do not know exactly how the movescripts and objects should be organized.
The idea that I have been considering is to have a main input script, a server-side AttackManager, and a client-side AttackHandler. On client input, a remoteevent (containing a tag for the requested move) would be sent to and received by AttackManager, which would then send an event to each individual client’s AttackHandler. The AttackHandler would then find the move’s folder in replicatedstorage, where it would run functions from the movefolder’s attackscript. (a modulescript containing functions such as starting, releasing, or performing hitbox detection for an attack.)
My question is whether or not this is a viable approach, and if it is not, what a better one could be. Any and all help is appreciated.