Scripthook .NET Compatibility Patch 1.31
612
20
612
20
Scripthook Compatibility Patch
This mod provides a runtime compatibility layer between
ScriptHookVDotNet Nightlies and Script Hook V .Net Enhanced by Chiheb-Bacha
I've switched over to ASI and patching the files to allowing more names.
The Dll's will remain if anyone prefers the memory patch method.
GTA.UI.FeedPost⠀⠀➤⠀GTA.FeedPost
GTA.Vehicle.Create⠀➤⠀GTA.World.CreateVehicle
GTA.Input.Controls⠀➤⠀GTA.Game
GTA.Input.Controls.IsDisabledControlPressed
⠀➤⠀GTA.Game.IsControlPressed
Investigated, but not implemented as a complete patch because the IL arguments must also change. Still determining a fix if there is any.
Newest update split the mod in two, Enhanced version or Nightly Version
If you use Enhanced version and need compatibility with Nightly then use Enhanced
If you use Nightly and need compatibility with older mods then use Nightly
The mod operates entirely in memory and does not modify the original
script assemblies on disk. A Dll injects a lightweight
compatibility directly into ScriptHookVDotNet's script AppDomain.
The Dll monitors assemblies as they are loaded by the CLR and inspects their
managed metadata for known API compatibility issues.
When an incompatible assembly is detected, the required metadata is patched directly
within the CLR-loaded image before the script is instantiated. This allows scripts
to continue operating against newer ScriptHookVDotNet API layouts without requiring
the original DLL to be decompiled, recompiled, or permanently modified.
The compatibility layer is designed to operate independently of GTA V executable memory
addresses and does not rely on game-version-specific pattern scanning. Its primary
dependency is the ScriptHookVDotNet/CLR loading environment rather than the underlying
GTA V executable version.
The only errors to be fixed right now are
constructor threw an exception: System.MissingMethodException:
Method not found: 'GTA.UI.FeedPost GTA.UI.Notification.PostTicker(System.String, Boolean, Boolean)'.
This can fix issues with mods like Cinematic Idle/AFK Cam
Potentially this can fix other Scripthook errors as well on outdated scripts, i just need to know what errors
Updates:
⠀⠀⠀⠀➤ 1.31
⠀⠀⠀⠀⠀● Fixed the finder for the gta folder
⠀⠀⠀⠀➤ 1.3
⠀⠀⠀⠀⠀● Testing a new approach that patches the actual script DLL files instead of modifying them in memory. Original files are backed up in the `CompatibilityPatch` folder with `.bak` appended to their filenames.
⠀⠀⠀⠀⠀● Moved the patching method to the ASI, allowing more names to be patched by adding new strings to the `#Strings` metadata heap.
⠀⠀⠀⠀➤ Enhanced 1.2
⠀⠀⠀⠀⠀● If you use Script Hook Enhanced then use this for Nightly compatibility
⠀⠀⠀⠀➤ Nightly 1.2
⠀⠀⠀⠀⠀● If your on Script Hook Nightly then use this for older scripts
⠀⠀⠀⠀➤ 1.2
⠀⠀⠀⠀⠀● Nothing new was added except for better error handling on dll's
⠀⠀⠀⠀➤ 1.1
⠀⠀⠀⠀⠀● New error patched
⠀⠀⠀⠀⠀'GTA.Vehicle' does not contain a definition for 'Create'
⠀⠀⠀⠀⠀Change Vehicle.Create
⠀⠀⠀⠀⠀Back to World.CreateVehicle
How To Use
● Simply install 000_CompatibilityPatch.dll to the scripts folder
This mod provides a runtime compatibility layer between
ScriptHookVDotNet Nightlies and Script Hook V .Net Enhanced by Chiheb-Bacha
I've switched over to ASI and patching the files to allowing more names.
The Dll's will remain if anyone prefers the memory patch method.
GTA.UI.FeedPost⠀⠀➤⠀GTA.FeedPost
GTA.Vehicle.Create⠀➤⠀GTA.World.CreateVehicle
GTA.Input.Controls⠀➤⠀GTA.Game
GTA.Input.Controls.IsDisabledControlPressed
⠀➤⠀GTA.Game.IsControlPressed
Investigated, but not implemented as a complete patch because the IL arguments must also change. Still determining a fix if there is any.
Newest update split the mod in two, Enhanced version or Nightly Version
If you use Enhanced version and need compatibility with Nightly then use Enhanced
If you use Nightly and need compatibility with older mods then use Nightly
The mod operates entirely in memory and does not modify the original
script assemblies on disk. A Dll injects a lightweight
compatibility directly into ScriptHookVDotNet's script AppDomain.
The Dll monitors assemblies as they are loaded by the CLR and inspects their
managed metadata for known API compatibility issues.
When an incompatible assembly is detected, the required metadata is patched directly
within the CLR-loaded image before the script is instantiated. This allows scripts
to continue operating against newer ScriptHookVDotNet API layouts without requiring
the original DLL to be decompiled, recompiled, or permanently modified.
The compatibility layer is designed to operate independently of GTA V executable memory
addresses and does not rely on game-version-specific pattern scanning. Its primary
dependency is the ScriptHookVDotNet/CLR loading environment rather than the underlying
GTA V executable version.
The only errors to be fixed right now are
constructor threw an exception: System.MissingMethodException:
Method not found: 'GTA.UI.FeedPost GTA.UI.Notification.PostTicker(System.String, Boolean, Boolean)'.
This can fix issues with mods like Cinematic Idle/AFK Cam
Potentially this can fix other Scripthook errors as well on outdated scripts, i just need to know what errors
Updates:
⠀⠀⠀⠀➤ 1.31
⠀⠀⠀⠀⠀● Fixed the finder for the gta folder
⠀⠀⠀⠀➤ 1.3
⠀⠀⠀⠀⠀● Testing a new approach that patches the actual script DLL files instead of modifying them in memory. Original files are backed up in the `CompatibilityPatch` folder with `.bak` appended to their filenames.
⠀⠀⠀⠀⠀● Moved the patching method to the ASI, allowing more names to be patched by adding new strings to the `#Strings` metadata heap.
⠀⠀⠀⠀➤ Enhanced 1.2
⠀⠀⠀⠀⠀● If you use Script Hook Enhanced then use this for Nightly compatibility
⠀⠀⠀⠀➤ Nightly 1.2
⠀⠀⠀⠀⠀● If your on Script Hook Nightly then use this for older scripts
⠀⠀⠀⠀➤ 1.2
⠀⠀⠀⠀⠀● Nothing new was added except for better error handling on dll's
⠀⠀⠀⠀➤ 1.1
⠀⠀⠀⠀⠀● New error patched
⠀⠀⠀⠀⠀'GTA.Vehicle' does not contain a definition for 'Create'
⠀⠀⠀⠀⠀Change Vehicle.Create
⠀⠀⠀⠀⠀Back to World.CreateVehicle
How To Use
● Simply install 000_CompatibilityPatch.dll to the scripts folder
First Uploaded: 03. okt 2026
Last Updated: 1 dan
Last Downloaded: okoli 2 uri
38 Comments
More mods by InfiniteQuestion:
Scripthook Compatibility Patch
This mod provides a runtime compatibility layer between
ScriptHookVDotNet Nightlies and Script Hook V .Net Enhanced by Chiheb-Bacha
I've switched over to ASI and patching the files to allowing more names.
The Dll's will remain if anyone prefers the memory patch method.
GTA.UI.FeedPost⠀⠀➤⠀GTA.FeedPost
GTA.Vehicle.Create⠀➤⠀GTA.World.CreateVehicle
GTA.Input.Controls⠀➤⠀GTA.Game
GTA.Input.Controls.IsDisabledControlPressed
⠀➤⠀GTA.Game.IsControlPressed
Investigated, but not implemented as a complete patch because the IL arguments must also change. Still determining a fix if there is any.
Newest update split the mod in two, Enhanced version or Nightly Version
If you use Enhanced version and need compatibility with Nightly then use Enhanced
If you use Nightly and need compatibility with older mods then use Nightly
The mod operates entirely in memory and does not modify the original
script assemblies on disk. A Dll injects a lightweight
compatibility directly into ScriptHookVDotNet's script AppDomain.
The Dll monitors assemblies as they are loaded by the CLR and inspects their
managed metadata for known API compatibility issues.
When an incompatible assembly is detected, the required metadata is patched directly
within the CLR-loaded image before the script is instantiated. This allows scripts
to continue operating against newer ScriptHookVDotNet API layouts without requiring
the original DLL to be decompiled, recompiled, or permanently modified.
The compatibility layer is designed to operate independently of GTA V executable memory
addresses and does not rely on game-version-specific pattern scanning. Its primary
dependency is the ScriptHookVDotNet/CLR loading environment rather than the underlying
GTA V executable version.
The only errors to be fixed right now are
constructor threw an exception: System.MissingMethodException:
Method not found: 'GTA.UI.FeedPost GTA.UI.Notification.PostTicker(System.String, Boolean, Boolean)'.
This can fix issues with mods like Cinematic Idle/AFK Cam
Potentially this can fix other Scripthook errors as well on outdated scripts, i just need to know what errors
Updates:
⠀⠀⠀⠀➤ 1.31
⠀⠀⠀⠀⠀● Fixed the finder for the gta folder
⠀⠀⠀⠀➤ 1.3
⠀⠀⠀⠀⠀● Testing a new approach that patches the actual script DLL files instead of modifying them in memory. Original files are backed up in the `CompatibilityPatch` folder with `.bak` appended to their filenames.
⠀⠀⠀⠀⠀● Moved the patching method to the ASI, allowing more names to be patched by adding new strings to the `#Strings` metadata heap.
⠀⠀⠀⠀➤ Enhanced 1.2
⠀⠀⠀⠀⠀● If you use Script Hook Enhanced then use this for Nightly compatibility
⠀⠀⠀⠀➤ Nightly 1.2
⠀⠀⠀⠀⠀● If your on Script Hook Nightly then use this for older scripts
⠀⠀⠀⠀➤ 1.2
⠀⠀⠀⠀⠀● Nothing new was added except for better error handling on dll's
⠀⠀⠀⠀➤ 1.1
⠀⠀⠀⠀⠀● New error patched
⠀⠀⠀⠀⠀'GTA.Vehicle' does not contain a definition for 'Create'
⠀⠀⠀⠀⠀Change Vehicle.Create
⠀⠀⠀⠀⠀Back to World.CreateVehicle
How To Use
● Simply install 000_CompatibilityPatch.dll to the scripts folder
This mod provides a runtime compatibility layer between
ScriptHookVDotNet Nightlies and Script Hook V .Net Enhanced by Chiheb-Bacha
I've switched over to ASI and patching the files to allowing more names.
The Dll's will remain if anyone prefers the memory patch method.
GTA.UI.FeedPost⠀⠀➤⠀GTA.FeedPost
GTA.Vehicle.Create⠀➤⠀GTA.World.CreateVehicle
GTA.Input.Controls⠀➤⠀GTA.Game
GTA.Input.Controls.IsDisabledControlPressed
⠀➤⠀GTA.Game.IsControlPressed
Investigated, but not implemented as a complete patch because the IL arguments must also change. Still determining a fix if there is any.
Newest update split the mod in two, Enhanced version or Nightly Version
If you use Enhanced version and need compatibility with Nightly then use Enhanced
If you use Nightly and need compatibility with older mods then use Nightly
The mod operates entirely in memory and does not modify the original
script assemblies on disk. A Dll injects a lightweight
compatibility directly into ScriptHookVDotNet's script AppDomain.
The Dll monitors assemblies as they are loaded by the CLR and inspects their
managed metadata for known API compatibility issues.
When an incompatible assembly is detected, the required metadata is patched directly
within the CLR-loaded image before the script is instantiated. This allows scripts
to continue operating against newer ScriptHookVDotNet API layouts without requiring
the original DLL to be decompiled, recompiled, or permanently modified.
The compatibility layer is designed to operate independently of GTA V executable memory
addresses and does not rely on game-version-specific pattern scanning. Its primary
dependency is the ScriptHookVDotNet/CLR loading environment rather than the underlying
GTA V executable version.
The only errors to be fixed right now are
constructor threw an exception: System.MissingMethodException:
Method not found: 'GTA.UI.FeedPost GTA.UI.Notification.PostTicker(System.String, Boolean, Boolean)'.
This can fix issues with mods like Cinematic Idle/AFK Cam
Potentially this can fix other Scripthook errors as well on outdated scripts, i just need to know what errors
Updates:
⠀⠀⠀⠀➤ 1.31
⠀⠀⠀⠀⠀● Fixed the finder for the gta folder
⠀⠀⠀⠀➤ 1.3
⠀⠀⠀⠀⠀● Testing a new approach that patches the actual script DLL files instead of modifying them in memory. Original files are backed up in the `CompatibilityPatch` folder with `.bak` appended to their filenames.
⠀⠀⠀⠀⠀● Moved the patching method to the ASI, allowing more names to be patched by adding new strings to the `#Strings` metadata heap.
⠀⠀⠀⠀➤ Enhanced 1.2
⠀⠀⠀⠀⠀● If you use Script Hook Enhanced then use this for Nightly compatibility
⠀⠀⠀⠀➤ Nightly 1.2
⠀⠀⠀⠀⠀● If your on Script Hook Nightly then use this for older scripts
⠀⠀⠀⠀➤ 1.2
⠀⠀⠀⠀⠀● Nothing new was added except for better error handling on dll's
⠀⠀⠀⠀➤ 1.1
⠀⠀⠀⠀⠀● New error patched
⠀⠀⠀⠀⠀'GTA.Vehicle' does not contain a definition for 'Create'
⠀⠀⠀⠀⠀Change Vehicle.Create
⠀⠀⠀⠀⠀Back to World.CreateVehicle
How To Use
● Simply install 000_CompatibilityPatch.dll to the scripts folder
First Uploaded: 03. okt 2026
Last Updated: 1 dan
Last Downloaded: okoli 2 uri

This is completely experimental approach so if this doesn't work or you have other Scripthook errors I can try to patch then let me know
And your current compatibility script cannot be loaded in nightly. Can you add a detection to your 000_CompatibilityPatch.dll and use different patches according to whether you are currently using shvdnenh or shvdn nightly?
[ERROR] Failed to load script assembly 000_CompatibilityPatch.dll when searching for script types because there is an assembly that the script tried to load as a dependency but couldn't. Exception message: One or more of the requested types could not be loaded. For more information, retrieve the LoaderExceptions property.
First LoaderException message (which tells what assembly is missing): System.IO.FileNotFoundException: Could not load file or assembly 'ScriptHookVDotNet3, Version=3.9.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: "ScriptHookVDotNet3, Version=3.9.0.0, Culture=neutral, PublicKeyToken=null"
Sounds coool
@JoyLucien I added a old scripthook api to nightlies patch, but i cant patch the advanced persistence. This would require creating a fake scripthook to load before dot net then forcing it to use its version checker over scripthooks but some memory hacking like that would truly set off false positives.
@InfiniteQuestion only to modify the nightly source code.
@JoyLucien I dont understand? It still might be possible, but so far i havent found it.
@InfiniteQuestion I do use a couple of Enhanced scripts in Legacy and they work just fine.
Please correct me if I'm wrong but this mod enables scripts that are built for nightly to work with the regular version of SHVDN? I have one that is nightly I need but another mod I need more works only with regular SHVDN.
@IreBurn Yes and that should include the enhanced version on this site. If someone so chooses to use nightly version then can also fix scripts the other way too. Right now it's kinda limited but any errors or old scripts I can possibly patch.
@InfiniteQuestion I did ask them to consider switching from nightly to shvdne.
@IreBurn Well unless something drastic changes with the nightly this should patch simple name changes between the two versions. Which mod was it?
@InfiniteQuestion https://www.gta5-mods.com/scripts/save-vehicle-beta-1-0-0
@InfiniteQuestion Seems Flare Vehicle Save still isn't working with your mod installed. Probably not your mod that's not working with it but vice versa. ForzaLine, another nightly SHVDN mod, does work in conjuction with your mod.
@IreBurn Im testing another way but so far im not sure the patch can work for that type of error. Its a difference between renaming a function verses creating a new function.
@InfiniteQuestion 👍
@IreBurn I was able to patch a lot more names by converting to ASI but i still havent found a way to patch
System.MissingMethodException: Method not found: 'Boolean GTA.Game.IsDisabledControlPressed(GTA.Input.ControlType, GTA.Input.ControlAction)'.
@InfiniteQuestion It's really up to the author of the other mod to update their mod to utilize SHVDNE.
Not sure why this is happening but I'm getting:
Folder: F:\Grand Theft Auto V Inf\scripts under the Compatibilitybootstrap log
Just to make sure I understand, this goes in the GTA V root directory and I can delete the older compatibility files? If so, I've done that and now its CTD
Here's my log:
CompatibilityBootstrap log started.
[2026-10-14 09:13:47.508] CompatibilityBootstrap started.
[2026-10-14 09:13:47.508] Process ID: 2760
[2026-10-14 09:13:47.508] Executable path:
[2026-10-14 09:13:47.509] C:\Program Files\Rockstar Games\Grand Theft Auto V Legacy\GTA5.exe
[2026-10-14 09:13:47.509] Checking whether ScriptHookVDotNet3.dll is loaded.
[2026-10-14 09:13:47.509] ScriptHookVDotNet3.dll is not currently loaded.
[2026-10-14 09:13:47.509] ScanFolder: starting.
[2026-10-14 09:13:47.509] Folder: F:\Grand Theft Auto V Inf\scripts
[2026-10-14 09:13:47.510] ScanFolder: no DLL files found or folder unavailable.
[2026-10-14 09:13:47.510] Starting offline metadata rewrite test.
[2026-10-14 09:13:47.510] ScanFolder: starting.
[2026-10-14 09:13:47.510] Folder: F:\Grand Theft Auto V Inf\scripts
[2026-10-14 09:13:47.510] ScanFolder: no DLL files found or folder unavailable.
[2026-10-14 09:13:47.510] CompatibilityBootstrap worker finished.
I do not have a F:/ Drive
@Van_Zandt Thanks for pointing that out. I thought I removed the hardcoded directory but I guess not. Will fix soon.
Here is a somewhat similar ASI plugin that could be helpful to Legacy players who are tired of compatibility-breaking changes with old scripts when using SHVDN nightly: https://github.com/dougieprishpreed/shvdn-adapter
@floydturbo Well it looks like this mod is now obsolete. Great job, this will be a better patcher than this is capable of. Although i did try the asi route before probably using the same techniques but i couldn't get a version that didn't trigger virus warnings. It does seem like your are triggering the same virus warnings i got and my mod was rejected so the in memory dll and patched dlls are the best i could get without too many false positives.