Instead of simulating the NPCs on the server in real time, try sending the simulation instructions to the clients. Meaning, if the server wants an NPC to move somewhere, it’ll calculate the path and then send the path to all clients, and have each client simulate the NPC’s movement instead. This would help reduce bandwidth a lot, as the server only needs to communicate with clients when the NPC’s path changes.
1 Like