Fixing Thread-Context Related Crashes for Unity-based Games

A lot of Unity-based games exhibit spurious errors that can be traced down to the mono.dll binary. There are various crashes, one of the most famous being something about GetThreadContext Failed or similar.

Oh gee, a mono garbage collector bug? Who would have thought? Mono works so well. . .

To fix the game, you will have to download Unity (the free version is fine), install using the default options (pick 64 bits) and then browse to the installation folder (for x64, the installation directory will be by default at C:\Program Files\Unity).

You can use Windows search to locate mono.dll in any sub-folder - the one you need is the one located under the Editor\PlaybackEngines\windowsstandalonesupport\Variations\win32_nondevelopment_mono\Data directory. You could probably attempt the procedure with the mono.dll under the win64_nondevelopment_mono folder - but you most likely want the non-developement version (hence the folder name nondevelopment) instead of the development version since it will include additional debugging information that will not be useful for playing your game.

The next step is to copy the mono.dll from the Unity directory and overwrite the mono.dll in your game folder directory. For instance, for the game Tyranny, distributed by Good old Games (GoG), the mono.dll you have to overwrite with the one from Unity, is located inside the C:\GOG Games\Tyranny\Tyranny_Data\Mono folder.

Games known to be affected by this issue are:

  • Tyranny
  • Project Gorgon

including many titles of the Good old Games (GoG) releases that are built using Unity and mono.

fuss/unity.txt ยท Last modified: 2017/02/22 18:30 (external edit)

Access website using Tor Access website using i2p

For the copyright, license, warranty and privacy terms for the usage of this website please see the license, privacy and plagiarism pages.