What is the best approach for tools?

Should I have:

  • Server script and local script in the tool?
  • Server script in ServerScriptService, local script in the tool?
  • Server script in ServerScriptService, Client RunContext script in ReplicatedStorage, which would listen for any tools of its target type being activated by the LocalPlayer? (In this case I need to know whether Equipped and Activated events would fire from a clientside script even if a different player is doing it)

What are the advantages and disadvantages of each approach?

Easier to manage, I recommend this.

1 Like

The way you set this up is up to you, but most tools have a local script and a server script inside of them. Depending on their use, others have local scripts that require modules and have one main server handler for many of them. This can be seen in gun systems and other systems that contain tools that have similar functions.