Rechecking through protondb, I noticed most of the reports seem to mention using protontricks to install net40 and xna40.
As well as older reviews mentioning an "[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: Collection was modified; enumeration operation may not execute." Error, so maybe it relies on an older version of .net
Hello @waspennator, it looks like you added a Proton log after my initial read through of this issue report and that slipped through a crack.
From your Proton log, these look like some lines of interest:
[00000138:] EXCEPTION handling: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
Unhandled Exception:
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.List`1[T].ForEach (System.Action`1[T] action) [0x00046] in <e70d6e9587d64cb3abb4b3f99bbf5a0d>:0
at ThePit.Floor.Update (ThePit.RunContext rc) [0x00151] in <76ab0d6349e545deb69695ddc756ade3>:0
at ThePit.World.Update (ThePit.RunContext rc) [0x00104] in <76ab0d6349e545deb69695ddc756ade3>:0
at ThePit.Game1.UpdateWorld (Microsoft.Xna.Framework.GameTime gameTime) [0x0008e] in <76ab0d6349e545deb69695ddc756ade3>:0
at ThePit.Game1.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x000b1] in <76ab0d6349e545deb69695ddc756ade3>:0
at Microsoft.Xna.Framework.Game.Tick () [0x00117] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0
at Microsoft.Xna.Framework.Game.RunLoop () [0x0001f] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0
at Microsoft.Xna.Framework.Game.Run () [0x00035] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0
at ThePit.Program.MainCore () [0x0002f] in <76ab0d6349e545deb69695ddc756ade3>:0
at ThePit.Program.Main (System.String[] args) [0x0003a] in <76ab0d6349e545deb69695ddc756ade3>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.List`1[T].ForEach (System.Action`1[T] action) [0x00046] in <e70d6e9587d64cb3abb4b3f99bbf5a0d>:0
at ThePit.Floor.Update (ThePit.RunContext rc) [0x00151] in <76ab0d6349e545deb69695ddc756ade3>:0
at ThePit.World.Update (ThePit.RunContext rc) [0x00104] in <76ab0d6349e545deb69695ddc756ade3>:0
at ThePit.Game1.UpdateWorld (Microsoft.Xna.Framework.GameTime gameTime) [0x0008e] in <76ab0d6349e545deb69695ddc756ade3>:0
at ThePit.Game1.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x000b1] in <76ab0d6349e545deb69695ddc756ade3>:0
at Microsoft.Xna.Framework.Game.Tick () [0x00117] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0
at Microsoft.Xna.Framework.Game.RunLoop () [0x0001f] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0
at Microsoft.Xna.Framework.Game.Run () [0x00035] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0
at ThePit.Program.MainCore () [0x0002f] in <76ab0d6349e545deb69695ddc756ade3>:0
I usually type up my reports on one device, post, then attach the logs on deck to make it easier on my end, sorry if it slipped through. Either way since the same error seems to be happening, maybe the game is doing something dumb that the newer .net versions don't allow for, considering that the game is still pretty buggy on windows, but still playable.
I believe one guide I saw for getting the game working on deck also mentions using proton 4.11-13 along with the protontricks method.
Still happens on oled with latest Experimental build
Still occurring with proton Experimental
Apparently, it's another missed check in .NET Framework. This should fix the exception: https://gitlab.winehq.org/mono/wine-mono/-/commit/950af90f055ab0aba99979cd38e318eaf7ed0580
Retested with latest proton Experimental update and it seems the issue is finally gone, shot my gun multiple times at enemies and 0 crashes through a few floors of gameplay, game is ready for testing
proton experimentalx2 2025-10proton 4.11-13x1 2023-01
Compatibility Report
System Information
I confirm:
Symptoms
Game boots and runs fine, but hangs and dies the moment you try firing your gun on deck. Protondb seems to mention this as well.
steam-233700.log
Reproduction
Start a game (any difficulty, I used the marine since he's the first to be shown in character select), then try to fire your gun (RT for me on deck) and the game should hang and die on the spot while playing the gun sound.