You are viewing a potentially older version of this package. View all versions.
CaptainPretzel-Gungeon_Go_Vroom-1.2.2 icon

Gungeon Go Vroom

A vanilla bugfix and optimization mod for Enter the Gungeon

Date uploaded a year ago
Version 1.2.2
Download link CaptainPretzel-Gungeon_Go_Vroom-1.2.2.zip
Downloads 632
Dependency string CaptainPretzel-Gungeon_Go_Vroom-1.2.2

This mod requires the following mods to function

MtG_API-Mod_the_Gungeon_API-1.9.2 icon
MtG_API-Mod_the_Gungeon_API

Adds the good parts of Mod the Gungeon to BepInEx.

Preferred version: 1.9.2
CaptainPretzel-Gunfig-1.1.11 icon
CaptainPretzel-Gunfig

A menu API for modded Gungeon

Preferred version: 1.1.11

README

What Is This Mod?

Gungeon Go Vroom fixes several bugs in vanilla Enter the Gungeon's code, and optimizes several other parts of Gungeon's code to reduce CPU usage, RAM usage, and lag spike frequency. Each fix and optimization can be individually toggled via the Mod Config menu (Options -> Mod Config -> Gungeon Go Vroom). For safety and performance reasons, most changes will only take effect upon restarting the game.

Gungeon Go Vroom's changes are organized into four main categories:

Bugfixes

These are changes that modify vanilla Gungeon's behavior to fix various bugs with the game. By their nature, these changes are NOT suitable for players who require unaltered vanilla functionality (e.g., for speedrunning leaderboards), but should otherwise improve the experience for vanilla and modded players alike. All bugfixes are enabled by default.

Currently included bugfixes are:

  • Duct Tape Fix: Fixes duct-taped guns sometimes breaking when using the elevator save button.
  • Quick Restart Fix: Fixes once-per-run rooms not properly resetting with Quick Restart, preventing them from respawning until visiting the Breach.
  • Shuffle Fix: Fixes an off-by-one error in shuffling algorithms, making rooms always / never spawn in unintended situations, among other issues.
  • Ammo UI Fix: Fixes a rendering issue with final projectiles in the ammo indicator causing them to render above UI elements they shouldn't.
  • Orbital Gun Fix: Fixes orbital guns visually firing from the wrong location if created while the player is facing left.
  • Co-op Turbo Mode Fix: Fixes co-op partner in turbo mode not getting turbo mode speed buffs until their stats have changed at least once.
  • Bullet Trail Fix: Fixes the trails of projectiles disappearing if they travel too slowly (e.g., during timeslow effects).
  • Beam Damage Cap Fix: Fixes beams not ignoring boss damage caps even when set to do so. (No such beam exists in vanilla, mostly for modded use).
  • Evolver Devolve Fix: Fixes Evolver devolving to its 2nd form after dropping it, picking it back up, and killing 5 enemies to level it up.

Safe Optimizations

These are changes that improve Gungeon's performance without altering vanilla behavior, and which have a negligible chance of interfering with other mods. Safe optimizations should be suitable for all players, and are all enabled by default.

Currently included safe optimizations are:

  • Optimize Occlusion: Speeds up occlusion calculations by using optimized algorithms and caching. Saves a large amount of CPU.
  • Optimize Visibility Checks: Skips redundant sprite visibility checks when the results aren't actually used. Saves a significant amount of CPU.
  • Optimize Light Culling: Uses optimized inlined logic for determining whether lights should be culled. Saves a significant amount of CPU.
  • Optimize Beams: Pools beam bones to reduce memory usage. Saves a modest amount of RAM and CPU.
  • Optimize GUI Events: Caches results of expensive lookups for finding GUI event handlers. Saves a modest amount of RAM.
  • Optimize Numerical Strings: Caches strings for small numbers used frequently by SGUI's labels. Saves significant RAM while any console is open.
  • Optimize Flood Filling: Uses an optimized flood fill algorithm for floor post-processing. Saves a small amount of CPU and RAM.
  • Optimize Bullet Trails: Pools bullet trail particles to reduce memory usage. Saves a small amount of RAM.
  • Optimize Projectile Prefabs: Removes prefab effect data (e.g., poison) from projectiles that never apply those effects. Saves a small amount of RAM.
  • Optimize Chunk Checks: Optimize checks for whether sprite chunks are relevant to gameplay. Saves a small amount of CPU.

Aggressive Optimizations

These are changes that improve Gungeon's performance without altering vanilla behavior, but could theoretically interfere with other mods. While these optimizations currently have no known compatibility issues with other mods and should be suitable for all players, they are all DISABLED by default.

Currently included aggressive optimizations are:

  • Optimize Goop Updates: Speeds up goop updates by using faster iterators and lookup algorithms. Saves a large amount of CPU.
  • Optimize Math: Speeds up some geometry calculations by using optimized algorithms. Saves a significant amount of CPU.
  • Optimize Chunk Building: Reuses temporary storage structures when rebuilding chunk data during level gen. Saves a significant amount of RAM.
  • Optimize Pointcast: Speeds up pointcast physics calculations by using statics instead of delegates. Saves a modest amount of CPU and RAM.
  • Optimize Dungeon Size Checks: Speeds up dungeon size lookups by using fields instead of properties. Saves a modest amount of CPU.
  • Optimize Sprite Depth Checks: Speeds up attached sprite depth checks by caching property accesses. Saves a modest amount of CPU.
  • Optimize Pit VFX: Speeds up pit VFX calculations by skipping several redundant tile checks. Saves a small amount of CPU.
  • Optimize Item Lookups: Speeds up passive / active item lookups by skipping delegate creation. Saves a small amount of CPU and RAM.

Experimental Optimizations

These are experimental changes that improve Gungeon's performance in ways that might inadvertently alter vanilla behavior. Each experimental optimization will eventually be reclassified as either safe or aggressive once it has been thoroughly tested to exactly replicate vanilla behavior. These optimizations should still be suitable for most players, but they are all DISABLED by default.

Currently included experimental optimizations are:

  • Optimize GUI Mouse Events: Prevents checks for whether the mouse is over a menu item when no menus are open. Saves significant CPU, but may break custom UIs.
  • Optimize Path Recalculations: Optimizes clearance computations used for enemy pathing logic. Saves modest CPU, but may freeze enemies in place.
  • Optimize Title Screen: Prevents scanning for the player on the title screen when no player exists. Saves small CPU, but may break floor loads.

Issues? Suggestions?

Feel free to use the Issue Tracker on Github if you encounter any issues or have any other vanilla bugs you'd like to see fixed. C:

Additional Credits

For convenience and additional performance, Gungeon Go Vroom's Thunderstore package comes bundled with the Optimize IMGUI plugin, licensed under the GNU General Public License v3.0. Gungeon Go Vroom does not use or require Optimize IMGUI to function.

CHANGELOG

Changelog

1.7.0 (2026-06-19)

  • Added "Starpew Fix", fixing an issue where two of Starpew's charge projectiles would not fire after the first charge shot
  • Optimized Goop update logic a bit more for slightly more performance
  • Added optimizations to walkability checks and heap clears to "Optimize Path Recalculations", saving more CPU and RAM
  • Added "Optimize Random Cell" option, slightly reducing RAM usage when various game objects request a random cell in a room
  • Added "Optimize Text Markup" option, fixing a memory leak when rendering markup text (e.g., the infinite ammo symbol)
  • Updated required Gunfig version to 1.1.11 for stability

1.6.1 (2026-04-12)

  • Added "Orbital Bullets Fix", preventing orbiting bullets from counting towards the orbital cap after despawning

1.6.0 (2026-01-25)

  • Added "Brick of Cash Fix", preventing the secret room Snitch from spawning within walls on the right side
  • Added "Gun Magnificence Fix", preventing magnificence from increasing when picking up a gun that has already been picked up
  • Added "Infinite Beam Ammo Fix", preventing the ammo for beam weapons from decreasing when under the effects of Magazine Rack
  • Added "Caped Bullet Kin Fix", preventing Caped Bullet Kin from taking longer to despawn at higher frame rates
  • Added "Flak Bullets Fix", preventing multiple copies of Flak Bullets causing projectiles to duplicate infinitely
  • Added "Scattershot Fix", preventing extra scattershot projectiles from consuming ammo when firing charge weapons (e.g., Crescent Crossbow)
  • Completely disabled "Optimize GUI Mouse Events" option for now, as it causes issues with vanilla menus

1.5.3 (2025-06-20)

  • Added "High Stress Armor Fix", showing a single armor piece for Robot / other 0-health characters during High Stress challenge mode
  • Fixed issue with "Optimize Pixel Rotation" causing bullets fired from Prize Gun in Winchester's minigame to phase through blocks

1.5.2 (2025-06-15)

  • Fixed error spam caused by trying to attach a CustomTrailRenderer to something that already has a MeshFilter and added logging to figure out why it's happening at all
  • Fixed pause menu being permanently tiny when Tiny UI is enabled while Optimize Pause Menu is also enabled

1.5.1 (2025-06-13)

  • Fixed screen going completely black when dying or when the game is otherwise forcibly paused

1.5.0 (2025-06-12)

  • Added "Optimize Pause Menu" option, dramatically reducing CPU usage while the game is paused
  • Added "Invalid Mimic Chest Fix", preventing modded chest types from transforming into mimics if they don't have a mimic type specified
  • Added optimizations for beam sprite rebuilding to "Optimize Beams"
  • Substantially improved goop optimizations, particularly when lots of fire is on screen
  • Substantially improved pointcast optimizations
  • Fixed IndexOutOfRange exception caused by trying to add / remove goop circles outside the bounds of the current map
  • Fixed ArgumentOutOfRangeException caused by logic for sprite z-depth update
  • Moved "Optimize Path Recalculations" to Safe Optimizations

1.4.1 (2025-06-07)

  • Added "Preallocate Heap Memory" option
  • Fixed issue where switching to The Judge on a new floor from a weapon with the same base ammo type would break The Judge's ammo UI rendering
  • Fixed Elevator rendering issue caused by "Optimize Visibility Checks" option

1.4.0 (2025-06-06)

  • Added "Unpause / Repause Fix", fixing an issue where the game continues to run in the background when unpausing and quickly repausing
  • Added "Optimize Linear Cast" option, mitigating lag caused by having lots of very fast moving projectiles on the screen
  • Added "Optimize Linear Cast Pool" to fix a memory leak in physics calculations
  • Added "Optimize Pixel Movement Gen" and "Optimize Pixel Rotation" options to speed up some physics calculations
  • Further improved "Optimize Ammo Display" option to save even more CPU and RAM
  • Further improved "Optimize Bullet Trails" option to save even more RAM
  • Optimized more various math functions
  • Added logging showing which GGV configuration options are enabled on startup

1.3.3 (2025-06-01)

  • Fixed major UI corruption when switching floors due to caching Blasphemy's non-existent ammo UI render data
  • Fixed several minor ammo UI rendering errors caused by Blasphemy's invisible ammo and switching between two guns with the same ammo type
  • Re-enabled Optimize Ammo Display option

1.3.2 (2025-06-01)

  • Temporarily hard-disabled Optimize Ammo Display to investigate major bug

1.3.1 (2025-05-31)

  • Added "Ammo Drift Fix" option

1.3.0 (2025-05-31)

  • Added "Optimize Ammo Display" option, fixing major lag spikes when updating ammo displays with a large number of sprites

1.2.2 (2025-05-29)

  • Fixed player rendering over the elevator when Optimize Visibility Checks is enabled
  • Fixed not being able to use mouse on the title screen when Optimize GUI Mouse Events is enabled

1.2.1 (2025-05-26)

  • Fixed serious error with goop optimizations breaking when floors are resized (e.g., by using the Drill item or opening the trapdoor to the RR's Lair)

1.2.0 (2025-05-20)

  • Made Gungeon Go Vroom apply patches earlier in the load process so other mods can benefit from them
  • Added several more new optimizations (see readme for full list)
  • Added "Experimental Optimizations" category
  • Added fix for beam weapons not ignoring damage caps even when the flag to do so is set (mostly for modded use, doesn't affect vanilla guns)
  • Added fix for Evolver devolving to its 2nd form when dropped, picked up, and used to kill 5 enemies
  • Improved fix for room shuffling algorithms to now apply more generally to all shuffling errors (now named "Shuffle Fix")
  • Renamed erroneously-labeled "Quicksave Fix" to more-appropriately labeled "Quick Restart Fix"
  • Actually remembered to bundle Optimize IMGUI with the Thunderstore package

1.1.0 (2025-05-12)

  • Added several new optimizations (see readme for full list)
  • Made all option changes now only take effect upon restarting the game (for stability and performance reasons)
    • Added warning to this effect to the Gungeon Go Vroom menu
  • Bundled the Optimize IMGUI plugin for convenience and additional performance (see readme for license information)
  • Updated required Gunfig version to 1.1.7 for fixes with some menu issues

1.0.0 (2025-05-08)

  • Initial Release :D