Best way to handle tycoon item purchasing

Firstly have a look into network ownership: Network Ownership | Roblox Creator Documentation

If that doesn’t help try the following:

Store the tycoon in ReplicatedStorage. When a player joins:

  1. On the server, copy a model of the tycoon into the workspace
  2. On the client, delete that model. Then, copy a model of the tycoon from ReplicatedStorage into the workspace

This way you have two versions of the tycoon, one client-side and one server-side. When the player buys something, play the animation on the client-side and have the tycoon just pop into existence on the server. When I say “pop” into existence I mean change Transparency to 0 and CanCollide to true etc.; if you create a new instance then it will show on the client.

If you want all players to see a smooth animation of everyone else’s tycoons, you’ll need to do this for all the tycoons, for every client.

If a tycoon takes 1-2 hours to complete, it’s very very unlikely you’d have all 6 tycoon spots full (unlikely you’d have all 6 slots filled with players who actually stay over an hour)