Workshop.codes
Create
Abort Abort If Abort If Condition Is False Abort If Condition Is True Add Health Pool To Player Allow Button Apply Impulse Attach Players Big Message Break Call Subroutine Cancel Primary Action Chase Global Variable At Rate Chase Global Variable Over Time Chase Player Variable At Rate Chase Player Variable Over Time Clear Status Communicate Continue Create Beam Effect Create Dummy Bot Create Effect Create HUD Text Create Homing Projectile Create Icon Create In-World Text Create Progress Bar HUD Text Create Progress Bar In-World Text Create Projectile Create Projectile Effect Damage Declare Match Draw Declare Player Victory Declare Round Draw Declare Round Victory Declare Team Victory Destroy All Dummy Bots Destroy All Effects Destroy All HUD Text Destroy All Icons Destroy All In-World Text Destroy All Progress Bar HUD Text Destroy All Progress Bar In-World Text Destroy Dummy Bot Destroy Effect Destroy HUD Text Destroy Icon Destroy In-World Text Destroy Progress Bar HUD Text Destroy Progress Bar In-World Text Detach Players Disable Built-In Game Mode Announcer Disable Built-In Game Mode Completion Disable Built-In Game Mode Music Disable Built-In Game Mode Respawning Disable Built-In Game Mode Scoring Disable Death Spectate All Players Disable Death Spectate Target HUD Disable Game Mode HUD Disable Game Mode In-World UI Disable Hero HUD Disable Inspector Recording Disable Kill Feed Disable Messages Disable Movement Collision With Environment Disable Movement Collision With Players Disable Nameplates Disable Scoreboard Disable Text Chat Disable Voice Chat Disallow Button Else Else If Enable Built-In Game Mode Announcer Enable Built-In Game Mode Completion Enable Built-In Game Mode Music Enable Built-In Game Mode Respawning Enable Built-In Game Mode Scoring Enable Death Spectate All Players Enable Death Spectate Target HUD Enable Game Mode HUD Enable Game Mode In-World UI Enable Hero HUD Enable Inspector Recording Enable Kill Feed Enable Messages Enable Movement Collision With Environment Enable Movement Collision With Players Enable Nameplates Enable Scoreboard Enable Text Chat Enable Voice Chat End For Global Variable For Player Variable Go To Assemble Heroes Heal If Kill Log To Inspector Loop Loop If Loop If Condition Is False Loop If Condition Is True Modify Global Variable Modify Global Variable At Index Modify Player Score Modify Player Variable Modify Player Variable At Index Modify Team Score Move Player To Team Pause Match Time Play Effect Preload Hero Press Button Remove All Health Pools From Player Remove Health Pool From Player Remove Player Reset Player Hero Availability Respawn Restart Match Resurrect Return To Lobby Set Ability 1 Enabled Set Ability 2 Enabled Set Ability Charge Set Ability Cooldown Set Ability Resource Set Aim Speed Set Ammo Set Crouch Enabled Set Damage Dealt Set Damage Received Set Environment Credit Player Set Facing Set Global Variable Set Global Variable At Index Set Gravity Set Healing Dealt Set Healing Received Set Invisible Set Jump Enabled Set Jump Vertical Speed Set Knockback Dealt Set Knockback Received Set Match Time Set Max Ammo Set Max Health Set Melee Enabled Set Move Speed Set Objective Description Set Player Allowed Heroes Set Player Health Set Player Score Set Player Variable Set Player Variable At Index Set Primary Fire Enabled Set Projectile Gravity Set Projectile Speed Set Reload Enabled Set Respawn Max Time Set Secondary Fire Enabled Set Slow Motion Set Status Set Team Score Set Ultimate Ability Enabled Set Ultimate Charge Set Weapon Skip Skip If Small Message Start Accelerating Start Assist Start Camera Start Damage Modification Start Damage Over Time Start Facing Start Forcing Dummy Bot Name Start Forcing Player Outlines Start Forcing Player Position Start Forcing Player To Be Hero Start Forcing Spawn Room Start Forcing Throttle Start Game Mode Start Heal Over Time Start Healing Modification Start Holding Button Start Modifying Hero Voice Lines Start Rule Start Scaling Barriers Start Scaling Player Start Throttle In Direction Start Transforming Throttle Stop Accelerating Stop All Assists Stop All Damage Modifications Stop All Damage Over Time Stop All Heal Over Time Stop All Healing Modifications Stop Assist Stop Camera Stop Chasing Global Variable Stop Chasing Player Variable Stop Damage Modification Stop Damage Over Time Stop Facing Stop Forcing Dummy Bot Name Stop Forcing Player Outlines Stop Forcing Player Position Stop Forcing Player To Be Hero Stop Forcing Spawn Room Stop Forcing Throttle Stop Heal Over Time Stop Healing Modification Stop Holding Button Stop Modifying Hero Voice Lines Stop Scaling Barriers Stop Scaling Player Stop Throttle In Direction Stop Transforming Throttle Teleport Unpause Match Time Wait Wait Until While
Ability Charge Ability Cooldown Ability Icon String Ability Resource Absolute Value Add All Damage Heroes All Dead Players All Heroes All Living Players All Players All Players Not On Objective All Players On Objective All Support Heroes All Tank Heroes Allowed Heroes Altitude Of Ammo And Angle Between Vectors Angle Difference Append To Array Arccosine In Degrees Arccosine In Radians Arcsine In Degrees Arcsine In Radians Arctangent In Degrees Arctangent In Radians Array Array Contains Array Slice Assist Count Attacker Backward Button Char In String Closest Player To Color Compare Control Mode Scoring Percentage Control Mode Scoring Team Cosine From Degrees Cosine From Radians Count Of Cross Product Current Array Element Current Array Index Current Game Mode Current Map Custom Color Custom String Damage Modification Count Damage Over Time Count Direction From Angles Direction Towards Distance Between Divide Dot Product Down Empty Array Entity Count Entity Exists Evaluate Once Event Ability Event Damage Event Direction Event Healing Event Player Event Was Critical Hit Event Was Environment Event Was Health Pack Eye Position Facing Direction Of False Farthest Player From Filtered Array First Of Flag Position Forward Game Mode Global Global Variable Has Spawned Has Status Heal Over Time Count Healee Healer Healing Modification Count Health Health of Type Hero Hero Being Duplicated Hero Icon String Hero Of Horizontal Angle From Direction Horizontal Angle Towards Horizontal Facing Angle Of Horizontal Speed Of Host Player Icon String If-Then-Else Index Of Array Value Index Of String Char Input Binding String Is Alive Is Assembling Heroes Is Between Rounds Is Button Held Is CTF Mode In Sudden Death Is Communicating Is Communicating Any Is Communicating Any Emote Is Communicating Any Spray Is Communicating Any Voice line Is Control Mode Point Locked Is Crouching Is Dead Is Dummy Bot Is Duplicating Is Firing Primary Is Firing Secondary Is Flag At Base Is Flag Being Carried Is Game In Progress Is Hero Being Played Is In Air Is In Alternate Form Is In Line of Sight Is In Setup Is In Spawn Room Is In View Angle Is Jumping Is Match Complete Is Meleeing Is Moving Is Objective Complete Is On Ground Is On Objective Is On Wall Is Portrait On Fire Is Reloading Is Standing Is Team On Defense Is Team On Offense Is True For All Is True For Any Is Using Ability 1 Is Using Ability 2 Is Using Ultimate Is Waiting For Players Last Assist ID Last Created Entity Last Created Health Pool Last Damage Modification ID Last Damage Over Time ID Last Heal Over Time ID Last Healing Modification ID Last Of Last Text ID Left Local Player Local Vector Of Magnitude Of Map Mapped Array Match Round Match Time Max Max Ammo Max Health Max Health of Type Min Modulo Multiply Nearest Walkable Position Normalize Normalized Health Not Null Number of Dead Players Number of Deaths Number of Eliminations Number of Final Blows Number of Heroes Number of Living Players Number of Players Number of Players On Objective Number of Slots Objective Index Objective Position Opposite Team Of Or Payload Position Payload Progress Percentage Player Carrying Flag Player Closest To Reticle Player Hero Stat Player Stat Player Variable Players In Slot Players On Hero Players Within Radius Players in View Angle Point Capture Percentage Position Of Raise To Power Random Integer Random Real Random Value In Array Randomized Array Ray Cast Hit Normal Ray Cast Hit Player Ray Cast Hit Position Remove From Array Right Round To Integer Score Of Server Load Server Load Average Server Load Peak Sine From Degrees Sine From Radians Slot Of Sorted Array Spawn Points Speed Of Speed Of In Direction Square Root String String Contains String Length String Replace String Slice String Split Subtract Tangent From Degrees Tangent From Radians Team Of Team Score Text Count Throttle Of Total Time Elapsed True Ultimate Charge Percent Up Update Every Frame Value In Array Vector Vector Towards Velocity Of Vertical Angle From Direction Vertical Angle Towards Vertical Facing Angle Of Vertical Speed Of Victim Weapon Workshop Setting Combo Workshop Setting Hero Workshop Setting Integer Workshop Setting Real Workshop Setting Toggle World Vector Of X Component Of Y Component Of Z Component Of

OW2 Workshop Changes/Bugs Last updated September 24, 2024

Lobby Settings

  • Seasonal event game modes to choose from as templates (like Lucioball, Yeti Hunter, etc) are no longer available (were available in OW1).
  • Route 66 is also an available map for FFA/TDM, but not for Bounty Hunter.
  • In the Workshop Settings screen, an issue with Workshop Setting Integer, disallows users to enter numbers with more than three digits in it's number field next to it's slider.
    • Slider is not affected and works fine.
    • Workaround: To avoid using the slider and gain more precision on your inputs use Workshop Setting Real instead, to allow users to input those values.
  • Workshop Setting categories are sorted alphabetically, whereas before it was sorted in order of declaration in the script.

Hero Setting Changes

  • Ability Cooldown/Charge/Resource values are incorrectly returning null or 0 for some abilities. The actions also have no effect on these abilities. See below for the affected abilties.
  • Ramattra's Void Barrier cooldown request still just returns 0.
  • Ashe and Roadhog's Ability 1 cooldowns start the moment the button is pressed, but are restarted when the cast animation for the ability ends.
  • Setting ammo / max ammo doesn't work for some heroes, see below for all affected heroes.
  • "Secondary fire" has no effect for disabling Sojourn's secondary, you must use "Railgun alt fire" in custom game settings.
  • When a hero's max health is reduced, their health will exceed their max health if they die and get Resurrected. This makes it look as if the target is taking no damage as long as their health is above max health.
    • Workaround: Use Set Player Health to set the player's health to their max when it goes above max.
  • When setting the cooldown for Symmetra's Sentry Turrets (Ability 1) through Settings > Heroes > Symmetra, it also affects the cooldown of Symmetra's teleporter (Ability 2).
  • Ammo and Max Ammo fails on some heroes. See below for affected heroes.
  • Event Ability fails for some heroes when primary fire was used. See below for affected heroes.
  • Mercy's Caduceus Blaster is now considered as the first weapon (Clip 0)
  • Is Firing Primary is always True for Illari unless she is using any Ability input, meleeing, reloading, or firing primary/secondary.
  • Is Using Ability 1 does not trigger for Illari. However, Is Using Ability 2 does.
  • The value for Juno's Glide Boost Duration Scalar is removed when copying settings from the UI
  • Is In Alternate Form always returns False or Null for Ramattra when using Nemesis Form.

Workshop Text Changes

  • As of update 2.1.0.2.106273, HUDs work again!. However, they are centered relative to other HUDs in the same position.
  • In-world texts are now centered lower than usual if given a position. Before, they would float above the position, now they float nearly or totally centered at the position.
  • Small Messages may not appear properly for some reason.
  • The default font for small messages and in-world texts has been changed.

Settings as Text Formatting Changes

  • When copying a game mode as text, maps now have a number at the end, which represents the map variant (e.g. evening/morning). Omitting this number when pasting will enable all variants of the map.

Maps

  • Team Deathmatch can no longer be played on Havana.

Values

  • Is Waiting For Players does not evaluate client-side, meaning that visual elements (such as effects and texts) will evaluate this value as always being false.
    • Workaround: Dedicate a global variable to tracking this value and manually update it within a rule.

Other

  • Conditions checking for chased variables will not update until the chase has reached its destination. If chasing indefinitely (e.g. to 99999), the rule will never fire.
    • This affects both rule conditions as well as actions like Wait Until.
  • Disable Game Mode In-World UI does not affect the icon over the Push robot.

Setting ammo & max ammo

Last updated: 17 July 2024
Alternate names included for easy CTRL + F
Heroes not in the table work fine
Readable = value can be read from workshop, e.g. the max ammo value

Hero Set ammo works? Set max ammo works? Ammo readable? Max ammo readable? Notes
D.VA, DVA Applies to Pilot Form
Orisa Orisa still has ammo, it's simply hidden from the player, and only shown as the heat meter. By using Set Ammo, you can set the heat level, and setting Max Ammo no longer works. Ammo regenerates at a constant rate.
Ramattra
Bastion ⚠️ Set max ammo only works with Configuration: Assault
Reaper
Kiriko Set Max Ammo doesn't work on either clip. Set Ammo works, however.
Lifeweaver, LW Applies to both weapons
Mei
Ashe
Echo
Widowmaker
Zarya
Pharah
Sombra
Mauga Neither Clip Works
Venture
Juno

Setting Ability Cooldown

Last updated: 15 Oct 2023
This table lists heroes who contain abilities that are unaffected by the Set Ability Cooldown action.
Heroes not in the table work fine
⏹️ means Not Applicable

Hero Secondary Fire Ability 1 Ability 2 Notes
Ramattra ⚠️ Secondary Fire cooldown cannot be changed unless it is currently on cooldown. Only applies to Omnic Form.
Reinhardt Setting Fire Strike cooldown works fine, despite being on a charge.
Soldier: 76 ⚠️ Secondary Fire cooldown cannot be changed unless it is currently on cooldown. Attempting to change it while off cooldown causes it to appear on cooldown but it is actually still usable.
Zarya ⏹️ Setting Barrier cooldown works fine, despite being on a charge.
Zenyatta ⏹️ Ability 1 & 2 don't have a cooldown normally so it cannot be changed.
Lifeweaver, LW Tested with "Manual Weapon Swap" control scheme. Ability 1 in this setting is Rejuvenating Dash

Setting Ability Resource

This table lists heroes who contain abilities that are unaffected by the Set Ability Resource action.
Heroes not in the table work fine

Hero Button
Doomfist Unknown (Possibly Secondary Fire or Ability 2)
Orisa Primary Fire (works as ammo, see above)
Sojourn Secondary Fire

Reading Event Ability

Last updated: 19 July 2024
This table lists heroes whose Event Ability cannot be read for certain abilities and results in with null instead.
Heroes not in the table work fine

Hero Button(s)
D.Va Primary Fire (Mech form)
Junker Queen Primary Fire
Mauga Primary Fire, Secondary Fire
Ramattra Primary Fire (Omnic form)
Venture Primary Fire
Kiriko Secondary Fire
Lifeweaver Secondary Fire

Event Ability Issues

See Event Ability Bugs

Create Projectile and Create Homing Projectile issues

When the action's Player argument is not Null and the actual set owner (Bot or Player) leaves the game or is swapped around while the owner's projectile's lifetime did not expire, the following issues arises:

  • Projectiles only visually disappear (ghost entity)
  • Occupy a counter for Entity Count without ever decreasing the entire match
  • Due reaching the maximum allowed amount of Entities with this issue easily, it throws away the creativity and control over great projects.

Attempted workarounds are:

  • Setting the Player(Owner) argument to Null
  • Ask and beg any Players to not leave or deny moving requests
  • Using Create Projectile Effect instead of the problematic and handle the logic with your own algorithmns

Workshop UI & Season 3 - Specific issues

  • When searching for a value, you have to click the search bar before typing. (When the dropdown appears you should be able to start typing directly)
  • When arrays are present in the Inspector, they do not displace other values out of their visual space, resulting in overlap.
  • Opening any other menu while the Inspector is open will show both the Inspector and the other menu simultaneously (such as pressing 'L' to open the lobby, or 'O' for the socials menu). Under some circumstances you will be unable to close the Inspector after changing menus.
  • The game is prone to crashing with a "Unexpected error"-popup, like when editing (medium-large?) rules (example: https://discord.com/channels/570672959799164958/1074803292963622963 ).
  • Under some (unknown?) circumstances when trying to paste code, you will recieve an error message about the Workshop settings not allowing certain letters, despite it not containing such letters. Exiting the lobby and creating a new one will allow you to paste the code without errors.
Workshop.codes
Join the Workshop.codes Discord