Dummy Bot Recorder

This code is over 6 months old. The code may have expired and might no longer function.

This simple gamemode allows you to record your own movements and actions, and play them back through ally or enemy dummy bots.

Dummy Bot Recorder is designed to be minimalistic and general-purpose; perhaps you want to simulate a very specific teamfight scenario, or practice/warmup certain mechanics in a realistic fashion? With the dummy bot recorder, you can record yourself as an enemy or ally, and then playback those recordings on loop with interactible dummy bots on any character.

Press the Interact key (bound to 'F' by default on PC) to open the control menu, and the controls will be listed from there onwards.


Recording lots of bots at full resolution can crash your server! You should change the workshop settings according to your needs. You can do that by going to Settings -> Workshop Settings.
Workshop Settings
Custom Settings

Setting a low value for "Recording Poll Interval" will mean more precise recordings, but higher server load at the same time (Recommended when recording a single bot)

Setting a high value for "Recording Poll Interval" will mean less precise recordings, but lower server load simultaneously (Recommended when recording lots of bots at once)

You MUST restart your match to apply the custom settings.

Sync Mode

You can press the Primary Fire button to toggle "Sync Mode"; this will sync all bot recording playbacks so that they start at the same time. They will all loop together when the last bot finishes its recording.

Infinite Resources

There is an option to toggle infinite resources listed in the menu; this can be intensive on the server when there are lots of players present, and it is recommended you edit the match settings instead if you want infinite cooldowns, ammo, etc.

Saving and Loading Recordings

Note: There are a number of limitations with saving and loading recordings:

  • Saving a recording requires a bit of manual effort, so follow the instructions carefully!
  • You can only save/load an animation on the same map. I am not responsible for what happens if you load a recording onto a different map!
  • Precision may be lost due to the way overwatch copies arrays and represents numbers when exported to actions.
  • The bot will be loaded onto the exact same team as it was saved onto (Team 1 or Team 2)
  • If any bots have a recording that is too big (too high resolution + too long duration), it may corrupt your attempts to save the recording. Make sure all of your bots have a recorded length slightly lower than the maximum possible size (this is determined by workshop variable limitations, not an arbitrary limit set by me)
  • If you have created and deleted too many bots, your bot may not show up on the workshop inspector. So you will only be able to save the first few bots you record.

Saving a Recording

Step 1: Open your menu and press Ability 1 + Reload to store the recording data onto all bots
Step 1
Step 2: Open the workshop inspector
Step 2
Step 3: Set your variable target to the dummy bot you want to save the recording of
Step 3
Step 4: Click "Copy to Clipboard Current Values for Current Variable Target as Workshop Actions".
Step 4
Step 5: Paste what's on your clipboard into a text editor, and copy out everything in this exact section of what you just pasted. Double check to make sure you're selecting everything past "Event Player.MYSAVEDRECORDING = " up until the second-to-last line.
Step 5
Step 6: Insert that selection you just copied into the following text, replacing the "### PASTE THE ARRAY EXPRESSION HERE ###" section:

subroutines{2:LoadMySavedRecording}variables{global:8:RECORDING_TO_LOAD}actions{"Load my saved recording (Next 2 Actions)"
Call Subroutine(LoadMySavedRecording);

Save your text document. It should look something like this:
Save Example

Loading a Recording

To load a recording, you can easily paste it into the workshop editor.

Step 1: Copy all of the text you put together in the previous step onto your clipboard
Step 2: Open up the workshop editor
Step 2
Step 3: Expand the rule that says "--- PASTE YOUR SAVED RECORDINGS HERE ---"
Step 3
Step 4: If you formatted your save correctly, you should be able to paste it as an action within the rule you just expanded
Step 4
Step 5: Restart your match, and make sure your map settings only include the map you recorded your saved recording on (or else bad things can happen.... oh the screams!)

Hit me up with any bug reports or suggestions you have. I kind of threw this gamemode together on my own for my own use initially, so it's very simplified in scope so far, but I'm always open to adding more to the experience.

Made by DataBrain

Heroes: D.va, Orisa, Reinhardt, Roadhog, Sigma, and 27 more...
Created at:
Last updated:
Current version: 1.1

Users Also Like

Similar Codes

Join the Workshop.codes Discord