BotService - Create and control fake players

Studio can handle a client and server simultaneously when you press the play button, so having multiple clients in a playmode session for testing seems feasible. Would be better than starting separate studio instances for the server and every player.

There could be a RunService.IsBot() to check if the script is being run by a bot and then give UserInputService methods to create and alter InputObjects.

I’m not sure about live games, though. It’d have to duplicate and replicate the DataModel on another thread and run local scripts. It would be more performant to put avatar functionality in a module and call it on an NPC.

1 Like

This would be an absolute game-changer and I hope this is implemented. Especially for testing.

I would also propose being able to have bots in empty servers for other people as well even outside of testing. Would help with a lot of games during non-peak hours.

3 Likes

Bumping this — still very much needed.
Having an official way to spawn and control bots would make large-scale testing so much easier.
Really hope this gets more attention!

I love this idea! I hate how studio handles “Server & Clients” mode because you need a window for each player, but I just want the players to be added in one window.

This feature would speed up the testing process a lot. Not every developer has time to make fake players just to test if their game would work and seems unnecessary to do so.

However, Bot players will never show in the server list or boost player count. And with this in mind, there is no reason Roblox shouldn’t add this service. Because even without this service, developers have been able to add fake looking players moving around the map, so this service only helps and wouldn’t change too much of what is already happening.

I am in full support :blue_heart:

i think what people want isn’t bots, just a way to control how many windows additional clients create, and maybe have a engine-side wander logic that is toggle-able that simulates certain keypresses if you need to test multiple clients but don’t want each client have it’s own seperate window because you don’t plan to control them.

I would like it to be just Player -1 window that opens, and the rest of the fake players don’t open the window for them so less lag and wait time. So only 2 windows, player -1 and server sided window will open but still shows the many players specified.

And yeah, being able to specify what inputs the fake player does such as pressing a gui button on screen would be very nice so I could test hitboxes in my game with ease.

1 Like