Released: 2nd February 2023

Crypt of the NecroDancer v3.5.0 is now available!

Hey there NecroDancers! Grab a friend because we have a bunch of changes to how co-op works. Specifically, we’ve added new co-op enemies! No more shall you faceroll through the zones as a pod of death. You’ll need to watch each other’s backs going forward because these new enemies can’t be killed alone.

There’s a bunch of other changes and fixes too, so take a look at the patch notes for all the details.

Good luck out there!

New enemies

  • Added 6 new enemies to co-op mode in the SYNCHRONY DLC!
    • Jockey:
      • Grabs players like a monkey, but only inhibits their attacks while still allowing them to move around.
      • The Jockey does not take damage from the player it’s grabbing, and another player must come to help!
    • Phantom:
      • Chooses a specific player to follow around like a Ghost, but can only be hit by other players!
      • The Phantom’s target can push it away briefly, but cannot inflict damage to it or kill it normally.
    • Granite Golem:
      • An extremely thick-skinned Golem, invincible against most normal attacks.
      • Only takes damage when hit by two players simultaneously. Work together to defeat it!
    • Wisp:
      • A spirit that appears near groups of players travelling together.
      • Dodges the first hit by teleporting behind the back of another nearby player!
    • Skittish Blademaster:
      • Parries incoming hits, but lunges away instead of counter-attacking.
    • Protectorc (AMPLIFIED DLC only):
      • A very well-protected Orc wielding three shields instead of one, blocking attacks from the front and sides.
      • Chooses a specific player to follow, requiring any other player to strike at the Orc’s unprotected backside.

New features

  • Added mouse input support for all in-game menus
  • Added new translations for Simplified Chinese and Korean
  • Added translated texts for new menus, items and mechanics introduced since v3.0.0 across all supported languages
  • Added colored HUD beat bars for when Chaunter’s possession timer runs out
  • Added advanced option to show speedrun time splits in All Characters Mode
  • Added advanced options for adjusting the Shopkeeper’s singing volume and falloff distance
  • Added advanced volume options menu for fine-tuning the volumes of specific sound sources
  • Added advanced option to increase the number of keys that can be assigned to each action
  • Added support for changing the appearance of Klarinetta’s Zweihänder via the “Change Skin” menu
  • Added support for changing the appearance of Suzu’s and Klarinetta’s attack swipes via the “Change Skin” menu

Balance changes

  • 🔹 Shield Items: All stackable shields now regenerate 1 hit upon completing a level, up to their default stack size
  • 🔹 Reflective Shield: Increased durability from 1 to 2 hits
  • 🔻 Reflective Shield: Now reflects the exact damage blocked, instead of at least 5 hearts
  • 🔹 Shield of Shove: No longer prevents weapon attacks, allowing enemies to be simultaneously shoved and attacked
  • 🔹 Shield of Shove: Now works when moving around corners, pushing enemies regardless of the shield’s prior facing direction
  • ▫️ Shield of Shove: Now simultaneously pushes multiple horizontally or vertically aligned enemies in a row
  • ▫️ Shield of Shove: Crush attack now targets the most distant enemy when multiple enemies are aligned, instead of the closest
  • 🔻 Shield of Shove: Crush attack now deals 3 piercing damage instead of infinite phasing damage
  • 🔹 Thief: Now drops more items in co-op mode (one item per player)
  • 🔹 Thief: Increased the rarity of the first item drop from +1 to +2
  • 🔹 Thief: No longer steals items from non-targeted players
  • 🔹 Thief: No longer steals items when knocked into another player
  • 🔻 Thief: Now evades attacks by players other than its current target in multiplayer
  • 🔹 Shrine of Sacrifice: Now accepts players as sacrifices

Other changes

  • Changed Thief to use an updated spritesheet
  • Changed vision modifiers (such as Sunglasses and Ring of Shadows) to no longer silhouette enemies in spectator mode while observing multiple players
  • Changed “Reassign Controls” menu to automatically update multi-key combos when changing directional movement keys
  • Changed HUD controller prompts to support additional buttons, axes and controller models
  • Changed startup Changelog menu to combine patch notes from multiple updates
  • Changed numeric settings to be represented by sliders in the options menu
  • Changed categorical settings to show a dropdown menu with all available options
  • Changed secret shops to generate in multiplayer if any player character can encounter them, instead of requiring the shop type to be valid for all characters
  • Changed all shields capable of blocking multiple hits to appear cracked if the next hit will break them
  • Changed color for gold warning outlines on Monk/Coda to increase contrast

Modding features

  • Added documentation comments for 850+ components and fields
  • Added event objectGetHUDBeatBars to allow mods to customize the appearance of beat indicators in the player HUD
  • Added event spellTransmute to allow mods to intercept transmutations
  • Added function itemGeneration.getSeenCounts() to directly manipulate the tables tracking which items have spawned in a run
  • Added function shrineGeneration.getSeenCounts() to directly manipulate the tables tracking which shrines have spawned in a run
  • Added function soulFollower.spawn() to create a Soul Familiar
  • Added helper functions action.dx() and action.dy() to decompose action.Direction values into their X and Y offsets
  • Added support for binding delay functions ( to named global variables
  • Added support for passing more specific parameters to shrineGeneration.choice()
  • Added components sacrificable and sacrificableInstantReward to control eligibility for the Shrine of Sacrifice
  • Added component spellCheckSafeLevel to limit whether a spell can be cast in the lobby
  • Added components generateSecretRoom, generateSecretRoomInRun, generateSecretRoomExcludeFromSingleZone and generateSecretRoomRestrictLevel
  • Added component traitBannedSecretRooms to control which travel runes are allowed to spawn for a playable character
  • Added component traitZone5Bleed to add patches of Zone 5 to the level across all zones
  • Added component traitExtraMiniboss to add an additional miniboss on each level
  • Added component traitAddSpiders to generate Spiders outside of Zone 4
  • Added components traitExtraEnemies and traitExtraEnemiesZ1Z2Z5 to increase the number of enemies encountered throughout a run
  • Added components traitAddSarcophagus, traitNoSarcophagus to control Sarcophagus generation
  • Added components traitNoBlademasters, traitZone4NoMonkeys and traitZone4NoSpiders to prevent specific enemies from spawning
  • Added component innateAttackInhibitTemporarily, preventing enemies from attacking for a number of beats
  • Added component innateAttackInhibitOnHit, preventing enemies from attacking when damaged on the same beat
  • Added component innateAttackInhibitAgainstNonTarget, preventing enemies from attacking players they are not currently targeting in co-op mode
  • Added component knockbackableDeferred, delaying knockback until all players have acted for the current beat in co-op mode
  • Added component shieldPreventActionOnHit, preventing enemies from acting when their shield is hit, without increasing their beat delay in co-op mode
  • Added field weaponThrowHolder.distance to control the maximum distance of the charge attack of Cadence’s penultimate boss
  • Added field fortissimoleSpawn.spawnTypes to control which types of enemies Fortissimole spawns
  • Added field necrodancer.shieldBypassFlags/necrodancer.shieldTeleportFlags to control which damage types Cadence’s final boss responds to
  • Changed item-destroying spells to trigger the objectDeath event, referencing the caster as the killer
  • Changed healing caused by the Shopkeeper Familiar to reference the familiar as the healer in objectHeal
  • Changed dbg or print to no longer have an effect in packaged mods, reducing the size of log files and improving performance
    • To write messages to the log file in packaged mods, use"Test: %s", 123)


Input bugfixes

  • Fixed the vertical D-Pad axis of some controller models not working when Steam Input is disabled
  • Fixed controller button icons appearing much bigger than intended in language-specific fonts
  • Fixed the B button on controllers sometimes being handled as ‘Confirm’ instead of ‘Back’
  • Fixed Pause and Quick Restart keys not working when bound via Player 2’s controls menu
  • Fixed inaccurate controller button prompts for Xbox 360 and PlayStation 4 controllers when Steam Input is disabled

Gameplay bugfixes

  • Fixed Beetles, Tarmonsters and Mimics not being provoked by Reaper’s souls
  • Fixed Ring of Courage not protecting from Spike Traps if a Spider or Pixie jumps on the player on the same beat
  • Fixed secret room Shopkeepers instantly killing the player when attacked by a Rapier, Axe or Cat o’ Nine Tails
  • Fixed Pixies dealing damage to distant players holding a Rapier
  • Fixed Shrine of Sacrifice ignoring item restrictions on environmental kills, such as Spike Traps
  • Fixed Shrine of Space occasionally generating levels without any enemies or exit stairs
  • Fixed Reaper phasing into newly-spawned Skeletons when a Soul Familiar causes a Skull to split
  • Fixed Shield of Shove’s crush attack not inflicting directional damage, causing Skulls to split the wrong way
  • Fixed some enemies acting a beat too late after entering the field of view
  • Fixed Familiars being able to hit burrowed moles
  • Fixed Randomizer Mode sometimes giving more than 1 heart to fast-moving Yetis
  • Fixed Reflective Shield not inflicting directional damage
  • Fixed Cat o’ Nine Tails and Axe causing players to dash when attacking the Ghost Shopkeeper at close range
  • Fixed Ring of Courage not granting immunity to the No Return Square
  • Fixed Potion Rooms sometimes being only partially encased in Spiked Walls
  • Fixed Pixies not granting health when pushed into a player by an Earth Spell or a charmed Wind Mage
  • Fixed Coral Riff dealing splash damage when moving during phase 1 of the fight
  • Fixed Cadence’s penultimate boss delaying his next action upon entering phase 2 of the fight
  • Fixed Cadence’s penultimate boss inconsistently delaying his next action after charging
  • Fixed Cadence’s penultimate boss sometimes starting a charge immediately after being knocked back
  • Fixed Cadence’s penultimate boss fight not being limited to one live miniboss per bell
  • Fixed Minotaurs not ringing bells by charging into them in Cadence’s penultimate boss fight
  • Fixed gold collected by Dorian during Cadence’s final boss not being doubled while Cadence is wearing a Crown of Greed
  • Fixed Nocturna’s final boss not spawning a miniboss when entering phase 2 of the fight
  • Fixed shrines sometimes placing items on top of gold coins
  • Fixed coins appearing on the next level after falling through a trapdoor
  • Fixed charmed enemies possessed by Chaunter not being able to attack after their charm status runs out
  • Fixed thrown weapons getting stuck under NPC cages in Single-Zone Mode
  • Fixed Thief getting stuck targeting players in the secret shop
  • Fixed Thief being stunlocked and visually teleporting when attacked repeatedly by a player other than its target
  • Fixed Leprechaun failing to steal gold from players under the effects of Shrine of Binding
  • Fixed Ghast and Ghoul sometimes waiting an extra beat after dodging the first hit
  • Fixed Wraiths and other spirits rapidly disappearing/reappearing in co-op if multiple players are nearby

Engine bugfixes

  • Fixed Changelog menu switching pages while the chat prompt is open
  • Fixed settings and saves being cloud-synchronized when Steam Cloud is disabled
  • Fixed errors when viewing a post-death replay from an Exploding Mushroom’s perspective
  • Fixed Discord Rich Presence sometimes failing to update the lobby status in multiplayer when restarting a run
  • Fixed the character selection room in All Character Mode not displaying its name in the game browser
  • Fixed multi-instance window title being cut off on Windows

Leaderboard & Achievement bugfixes

  • Fixed In The Zone achievements for zones 1 through 4 unlocking when playing characters other than Cadence
  • Fixed Daily Challenge leaderboards not showing up if [SYNCHRONY] is active while [AMPLIFIED] is disabled
  • Fixed Daily Challenge leaderboards showing “No entries for this leaderboard” when a character other than Cadence is selected in the lobby

Level editor bugfixes

  • Fixed entities dying instantly when moved onto lava via the editor’s move tool
  • Fixed Moles destroying gold coins and traps when moved via the editor’s move tool
  • Fixed Coral Riff and Tentacles spawning water when moved via the editor’s move tool
  • Fixed story bosses dealing damage when moved via the editor’s move tool
  • Fixed level editor ceasing to respond when generating reduced-size Zone 5 levels
  • Fixed players other than the host being able to close online level editor sessions

Audio bugfixes

  • Fixed the Shopkeeper’s voice playing at a lower volume than intended
  • Fixed Ring of Gold repeatedly playing the gold collection noise if a coin falls down a trapdoor
  • Fixed enemies possessed by Chaunter not playing a sound effect when healing

Visual bugfixes

  • Fixed Soul Familiars not silhouetting when moving past the level border
  • Fixed player names showing up even when “Player name render distance” is set to “Off” in the options
  • Fixed Deep Blues’ Knights displaying a misleading attack animation when forced to attack via knockback
  • Fixed “coin” item pickup flyaway not being capitalized correctly when playing with All-Caps Text disabled
  • Fixed incorrect animation when toggling off Winged Boots above a Bounce Trap
  • Fixed the sprite of Cadence’s penultimate boss being visually offset in the level editor’s placement preview
  • Fixed Red/Blue Dragons’ Fireball and Ice Breath spells not displaying correctly in the HUD when spectating multiple players
  • Fixed gold outlines being visible when spectating multiple players if any of them is playing Monk/Coda
  • Fixed enemies possessed by Chaunter not displaying a particle effect when healing

Modding bugfixes

  • Fixed settings values being set to nil after their containing script file is renamed
  • Fixed graphics drawn using the debugVisuals module not showing up in the debug overlay
  • Fixed mod menu not showing the latest versions after focusing the game window
  • Fixed mod updates not showing up when more than 100 mods are installed
  • Fixed “Popular on” section loading forever if the top 100 popular mods have all been installed
  • Fixed Ctrl+F hotkey not working in the debug settings menu
  • Fixed menu cursor not always being placed in the correct location when searching in the mod menu
  • Fixed persistent errors after loading a level with an invalid custom song