43 620
169
43 620
169
Script Hook V .NET Enhanced is an ASI plugin, which allows running scripts written in any .NET language ingame.
It extends SHVDN, allowing mods to run on GTA5 Legacy and Enhanced at the same time.
Its full source code is hosted on GitHub (Changelog).
Have any questions, suggestions, or would like to be up-to-date on my latest projects, then join my Discord!
Installation
Changelog
It extends SHVDN, allowing mods to run on GTA5 Legacy and Enhanced at the same time.
Its full source code is hosted on GitHub (Changelog).
Have any questions, suggestions, or would like to be up-to-date on my latest projects, then join my Discord!
Installation
- Install both the Microsoft .NET Framework 4.8 (or higher, so skip this on Windows 10) and the Microsoft Visual C++ Redistributable Package for Visual Studio 2019 (x64).
- Download and install the latest Script Hook V.
- Download Script Hook V .NET Enhanced and copy the following files into your game directory:
- ScriptHookVDotNet.asi
- ScriptHookVDotNet2.dll
- ScriptHookVDotNet3.dll
- ScriptHookVDotNet.ini
MinHook.x64.dll (required starting from v1.1.0.0)
Changelog
v1.1.0.2
Issues addressed in this release:
- Fixed a crash that occurs randomly near some LS Customs locations after the last update 1.0.3717.0 / 1.0.1013.17. The bug was discovered by myself and alloc8or, who helped confirm its cause.
v1.1.0.1
Issues addressed in this release:
- Fixed an insta crash upon load on the newest Gta5 Enhanced version (1.0.1013.17), which was caused by a change in the function from which we fetch the CameraPool pointer.
- Added the new drift car hashes to DriftCarHash
v1.1.0.0
Issues addressed in this release:
- Updated the pattern for enabling MP cars in SP on Legacy builds prior to 46.
- Fixed homing missiles not redirecting when their Target was changed.
- Additional minor fixes and stability improvements.
New features:
v3 API additions:
- Added Enum DriftCarHash: contains 20 drift-car model hashes.
- Added CAIHandlingInfo, CAICurvePoint, and AIHandlingHash (AI driving behavior & handling editing).
- Added AdvancedFlags to CarHandlingData (see CarAdvancedFlags).
HandlingData improvements:
- Added ModelFlags, HandlingFlags, and DamageFlags.
- Added CAIHandlingInfo and CAIHandlingHash (values retrievable via CAIHandlingInfo.GetByHash).
- Added SpecialFlightHandlingData, including a new Flags attribute (see SpecialFlightHandlingFlags).
Game API additions:
- Game.Language can now be set from scripts.
Some languages require a restart; most take effect by opening → closing → opening the pause menu. - Added SetLocalizedString — replaces the text for a given gxt2 hash.
Use with caution; modifying critical labels may crash the game. - Added custom GXT entry management:
- AddCustomGxtEntry
- UpdateCustomGxtEntry
- GetCustomGxtEntry
- RemoveCustomGxtEntry
- Game.Language can now be set from scripts.
Vehicle API additions:
- IsSpecialFlightModeActivated, ActivateSpecialFlightMode, DeactivateSpecialFlightMode
→ enables Oppressor Mk II–style flight on (almost) any vehicle. - IsDriftModeActivated, ActivateDriftMode, DeactivateDriftMode
→ apply drift-car handling to any Automobile. - IsModelHandlingCompatibleWithVehicleModel — checks handling compatibility between two vehicle models.
- EngineTorqueMultiplier now has a getter (patched via memory scanning).
- PatchEngineTorqueMultiplierUpdate stops the game from resetting torque to 1.0.
- IsSpecialFlightModeActivated, ActivateSpecialFlightMode, DeactivateSpecialFlightMode
Core (Internal):
- New internal Hooking system supporting both CallHooks and MinHook.
- Automatic cleanup of allocated hook pages upon domain unload.
- Improvements to MemScanner and MemDataMarshall.
- Full compatibility with SHVDN API additions from 24.08.2025 → 16.11.2025
(except commit 124a59d, to be included in the next release).
- More features and improvements are currently being worked on — stay tuned.
- Please report any bugs, crashes, or unexpected behavior.
v1.0.0.2-beta
Issues addressed in this release:
- Fixed a dynamically fetched offset, which would cause a System.OutOfMemoryException if Weapon.Components was called on many weapons and stored in a list, crashing the game. This was observed in Belle's Diamond Casino Heist.
- Fixed a memory pattern, which mistakenly fetched a negative offset, causing the game to crash when accessed. This was observed in Dual Wield - Reboot.
- Fixed the reload hotkey handler, which used to treat any keyboard press as the reloadKeyBinding after the initial press, causing SHVDNE to reload scripts with every key press and lag the game.
New features:
- Added UseMpSelectionWheels(bool) — enables the GTA:Online selection wheels (weapon and radio wheels), without slow-motion, vignetting, or sound effect, if the parameter is true, and reverts back to the Singleplayer wheels if false.
- Added IsUsingMpSelectionWheels — returns whether the GTA:Online selection wheels are currently being used.
- More features and improvements are currently being worked on — stay tuned.
v1.0.0.1-beta
Issues addressed in this release:
- Fixed NativeMemory.GetPtfxAddress, which used to return the wrong address and caused the game to crash.
- Bumped the Major of the Version returned by FileVersion by 1, in order to distinguish from Legacy versions.
- Resolved incompatibilities with Simple Trainer for GTA V (TrainerV) in coordination with sjaak327 — these should no longer occur as of its latest version: 17.5.
- Confirmed compatibility with an unreleased version of Enable All Interiors (EAI). Simply wait for HKH191 to release it.
New features:
- Added Game.FindPatternInScript — allows searching for a pattern within a game script.
- Added Game.GetScriptGlobalFromAddress — returns the index of a script global from an address within a game script.
Improvements:
- Replaced some hardcoded offsets and found better patterns related to patching model spawning checks, improving robustness.
- More features and improvements are currently being worked on — stay tuned.
v1.0.0.0-beta
- Initial beta release of ScriptHookVDotNet Enhanced 🎉
- Covers the full SHVDN API, but further testing is still needed.
- Added World.GetAllPickupObjectPlacements() — returns all Pickup Placements on the map.
Первая загрузка: 18 сентября 2025
Последнее обновление: 5 дней назад
Последнее скачивание: 5 минут назад
All Versions
152 комментария
More mods by Chiheb-Bacha:
- Asi
5.0
11 021
124
1.0.0.1
By Chiheb-Bacha
Script Hook V .NET Enhanced is an ASI plugin, which allows running scripts written in any .NET language ingame.
It extends SHVDN, allowing mods to run on GTA5 Legacy and Enhanced at the same time.
Its full source code is hosted on GitHub (Changelog).
Have any questions, suggestions, or would like to be up-to-date on my latest projects, then join my Discord!
Installation
Changelog
It extends SHVDN, allowing mods to run on GTA5 Legacy and Enhanced at the same time.
Its full source code is hosted on GitHub (Changelog).
Have any questions, suggestions, or would like to be up-to-date on my latest projects, then join my Discord!
Installation
- Install both the Microsoft .NET Framework 4.8 (or higher, so skip this on Windows 10) and the Microsoft Visual C++ Redistributable Package for Visual Studio 2019 (x64).
- Download and install the latest Script Hook V.
- Download Script Hook V .NET Enhanced and copy the following files into your game directory:
- ScriptHookVDotNet.asi
- ScriptHookVDotNet2.dll
- ScriptHookVDotNet3.dll
- ScriptHookVDotNet.ini
MinHook.x64.dll (required starting from v1.1.0.0)
Changelog
v1.1.0.2
Issues addressed in this release:
- Fixed a crash that occurs randomly near some LS Customs locations after the last update 1.0.3717.0 / 1.0.1013.17. The bug was discovered by myself and alloc8or, who helped confirm its cause.
v1.1.0.1
Issues addressed in this release:
- Fixed an insta crash upon load on the newest Gta5 Enhanced version (1.0.1013.17), which was caused by a change in the function from which we fetch the CameraPool pointer.
- Added the new drift car hashes to DriftCarHash
v1.1.0.0
Issues addressed in this release:
- Updated the pattern for enabling MP cars in SP on Legacy builds prior to 46.
- Fixed homing missiles not redirecting when their Target was changed.
- Additional minor fixes and stability improvements.
New features:
v3 API additions:
- Added Enum DriftCarHash: contains 20 drift-car model hashes.
- Added CAIHandlingInfo, CAICurvePoint, and AIHandlingHash (AI driving behavior & handling editing).
- Added AdvancedFlags to CarHandlingData (see CarAdvancedFlags).
HandlingData improvements:
- Added ModelFlags, HandlingFlags, and DamageFlags.
- Added CAIHandlingInfo and CAIHandlingHash (values retrievable via CAIHandlingInfo.GetByHash).
- Added SpecialFlightHandlingData, including a new Flags attribute (see SpecialFlightHandlingFlags).
Game API additions:
- Game.Language can now be set from scripts.
Some languages require a restart; most take effect by opening → closing → opening the pause menu. - Added SetLocalizedString — replaces the text for a given gxt2 hash.
Use with caution; modifying critical labels may crash the game. - Added custom GXT entry management:
- AddCustomGxtEntry
- UpdateCustomGxtEntry
- GetCustomGxtEntry
- RemoveCustomGxtEntry
- Game.Language can now be set from scripts.
Vehicle API additions:
- IsSpecialFlightModeActivated, ActivateSpecialFlightMode, DeactivateSpecialFlightMode
→ enables Oppressor Mk II–style flight on (almost) any vehicle. - IsDriftModeActivated, ActivateDriftMode, DeactivateDriftMode
→ apply drift-car handling to any Automobile. - IsModelHandlingCompatibleWithVehicleModel — checks handling compatibility between two vehicle models.
- EngineTorqueMultiplier now has a getter (patched via memory scanning).
- PatchEngineTorqueMultiplierUpdate stops the game from resetting torque to 1.0.
- IsSpecialFlightModeActivated, ActivateSpecialFlightMode, DeactivateSpecialFlightMode
Core (Internal):
- New internal Hooking system supporting both CallHooks and MinHook.
- Automatic cleanup of allocated hook pages upon domain unload.
- Improvements to MemScanner and MemDataMarshall.
- Full compatibility with SHVDN API additions from 24.08.2025 → 16.11.2025
(except commit 124a59d, to be included in the next release).
- More features and improvements are currently being worked on — stay tuned.
- Please report any bugs, crashes, or unexpected behavior.
v1.0.0.2-beta
Issues addressed in this release:
- Fixed a dynamically fetched offset, which would cause a System.OutOfMemoryException if Weapon.Components was called on many weapons and stored in a list, crashing the game. This was observed in Belle's Diamond Casino Heist.
- Fixed a memory pattern, which mistakenly fetched a negative offset, causing the game to crash when accessed. This was observed in Dual Wield - Reboot.
- Fixed the reload hotkey handler, which used to treat any keyboard press as the reloadKeyBinding after the initial press, causing SHVDNE to reload scripts with every key press and lag the game.
New features:
- Added UseMpSelectionWheels(bool) — enables the GTA:Online selection wheels (weapon and radio wheels), without slow-motion, vignetting, or sound effect, if the parameter is true, and reverts back to the Singleplayer wheels if false.
- Added IsUsingMpSelectionWheels — returns whether the GTA:Online selection wheels are currently being used.
- More features and improvements are currently being worked on — stay tuned.
v1.0.0.1-beta
Issues addressed in this release:
- Fixed NativeMemory.GetPtfxAddress, which used to return the wrong address and caused the game to crash.
- Bumped the Major of the Version returned by FileVersion by 1, in order to distinguish from Legacy versions.
- Resolved incompatibilities with Simple Trainer for GTA V (TrainerV) in coordination with sjaak327 — these should no longer occur as of its latest version: 17.5.
- Confirmed compatibility with an unreleased version of Enable All Interiors (EAI). Simply wait for HKH191 to release it.
New features:
- Added Game.FindPatternInScript — allows searching for a pattern within a game script.
- Added Game.GetScriptGlobalFromAddress — returns the index of a script global from an address within a game script.
Improvements:
- Replaced some hardcoded offsets and found better patterns related to patching model spawning checks, improving robustness.
- More features and improvements are currently being worked on — stay tuned.
v1.0.0.0-beta
- Initial beta release of ScriptHookVDotNet Enhanced 🎉
- Covers the full SHVDN API, but further testing is still needed.
- Added World.GetAllPickupObjectPlacements() — returns all Pickup Placements on the map.
Первая загрузка: 18 сентября 2025
Последнее обновление: 5 дней назад
Последнее скачивание: 5 минут назад

This might be a bit far fetched to ask here, but there's an issue for some people with the way GTA 5 Enhanced concurrently access files following the recent update. For eg; I get an error that claims Reshade ini files don't have the right persmissions and my stack trace for ScriptHookV. Net Enhanced had a bunch of "The process cannot access the file 'C:\Games\steamapps\common\Grand Theft Auto V Enhanced\scripts\DriverJobsData\Missions\Jobs.xml' because it is being used by another process.", for mods that worked before the update.
I've also fully gone through every single possible bit to delimit permissions and security checks on the game folder. I'm out of ideas and wondering if anyone who's experienced it has found a fix? Other posts seem to show users have not found a solution yet.
@timbo6 i have this issue too! for me its the log file not the jobs.xml. glad im not the only one losing their mind over trying to fix this
@rockiain_1 @timbo6 that is a known issue introduced with the game update, and only present on Gta5 Enhanced. The game pretty much locks access to everything in its directory. This is not SHVDNE-specific. There are already some hacky fixes floating around, but it's better to wait for a better solution.
@Chiheb-Bacha Ah good to know though, thanks
@rockiain_1 Just in case you hadn't seen already, there's a new mod called DirectStorageFix that addresses the issue, worked on my end :)
Also adding rating for this mod since I hadn't before, thanks!
@timbo6 Thank you :)
Just thank you for making this mod. Finally my game doesnt crash when I try to play with scripts.
Going to add this to the description of my mods (not released yet) if somebody wants to play on Enhanced.
@5had0w You're welcome, and thank you :)
It also works on Legacy btw.
@Chiheb-Bacha On Legacy I never had any problems with ScripthookVdotnet, but with Enhanced it never worked. Thanks for telling btw!
will be compability with mod open all interiors?
@5had0w yeah i had to put in a lot of work to port shvdn to Enhanced, as none of its 250+ memory patterns work on enhanced, and some struct layouts have changed, as well as entity pool pointers being encrypted on enhanced. So yeah, shvdn wouldn't work out of the box on enhanced. But i also made sure shdvne worked on both legacy and enhanced, because why not haha.
@MrCube20 yes it should work.
@Chiheb-Bacha but i try install all interiors but its crash even i install lemon ui and its crrashing the game
@Chiheb-Bacha Bro casually made the best mod
@5had0w thank you 😅 appreciate it
@Chiheb-Bacha You dont know how long I was hoping to finally play with script mods on Enhanced. I am so happy somebody finally made a mod for it! :D
@MrCube20 I need more details. Please join the discord and send me your ScriptHookVDotNet.log, and also tell me on which version of the game you are, as well as the edition (legacy or enhanced).
I'm sure it has nothing to do with SHVDNE, as i've had 0 reports of crashes caused by scripts, but i'll still look into it. You might also want to ask the author of EAI (HKH).
@5had0w yeah I was also trying to write scripts for enhanced at the time, but no one was planning to port SHVDN to enhanced, so i thought i'd do it myself 😄 Glad people can enjoy their scripts on Enhanced now :)
@Chiheb-Bacha Btw how did you make mods for Enhanced. I never found out how to do that
@5had0w I reverse engineer the game to find the stuff i want to change, and create dll/asi projects that do exactly that. It's a bit complicated to explain here, but it requires some low-level programming knowledge (pointers and assembly), a lot of time to learn and get used to the reversing part, and a desire to actually do it, because it could get complicated and tedious at times.
@Chiheb-Bacha Now I understand why nobody ever tried messing around with script mods for Enhanced