Can tools show up on every one else's client but not the local client?

So I am developing a framework for a gun. Now I am going to use a different arm for the local client in the local camera with client animations, and I need to make the animations also show in 3rd person for everyone else.

So if I had Player A and Player B and Player C, can Player A equip a tool and not see on their client, but Player B and C can see it on their screens?

1 Like

You can create arms for the local player that animate the gun in first person etc (not visible to others) And animate the normal character model so it shows for everyone else.

1 Like

You can make the server-sided gun’s parts’ LocalTransparencyModifier 1 on the client.

1 Like

Oh didn’t know that existed. Performance wise, would this be a good option or instead making my own tool framework and having a model of the character with the gun cloned into everyone’s camera?

1 Like

Yes, if you program them not to do so.

There are several methods of doing this:

  • Set the LocalTransparencyModifier of the weapon (or just use Transparency, since you’ll have to set this from a LocalScript anyway)
  • Create a Folder in the Workspace for WorldModels, create a subfolder for each player, have the client locally delete their own folder then have the server parent WorldModels to that player’s subfolder - this voids replication entirely
  • Have each client except the client create a WorldModel on their own as dictated by the server

I’d recommend the last two since they don’t involve setting transparencies and instead get rid of the model completely from the client, which is undoubtedly more performant than an existing model.

1 Like

So LocalTransparencyModifer would lower performance?

1 Like

Relatively speaking, the performance difference is (or should be) fairly negligible, but I feel that it’d be more performant to make the model not exist at all on the client. Changing the LocalTransparencyModifier shouldn’t affect performance, though you could increase your performance, even if it’s by a marginal amount, by adopting a “selective replication” approach.

The comparison here is having instances exist invisibly on the client versus no instances at all. Instances have their own cost as far as being in the DataModel goes (connections, engine work, so on). Setting a transparency means the model still exists on the client.

1 Like

I see. I think I will do the transparency stuff since its a bit more easier. Really shouldn’t be too bad… I mean, every game already has the char on the local client, not much of a big deal. But thanks!