28.423
135
28.423
135
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.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.
Primeiro envio: 18 de Setembro de 2025
Último envio: 16 de Novembro de 2025
Último download: há 3 minutos atrás
101 Comentários
More mods by Chiheb-Bacha:
- Asi
5.0
7.218
104
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.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.
Primeiro envio: 18 de Setembro de 2025
Último envio: 16 de Novembro de 2025
Último download: há 3 minutos atrás

Hey everyone, v1.1.0.0 is out and is pending admin approval. In the meantime, you can get it from GitHub. I have also released a trainer called "Advanced Trainer V", which allows you to try the new features in SHVDNE. You can find it on my 5mods profile, but if it's still pending admin approval, you can also get it from my GitHub.
Have a great day :)
@Unsearchably @RemixPL1994 Thank you ^^
Hey everyone.
I have prepared a major update that would give new possibilites to .Net scripts. It has been "ready" for some time, but I still didn't find enough time to fully test it yet.
I was finished porting Menyoo to enhanced just yesterday (roll out is handled by ItsJustCurtis, and it probably needs a bit more testing), and will do my best to finalize and test this update, so that i can bring it out soon.
The current version has been out for almost 2 months, with 0 bug reports, which means it can already be considered the first stable version, which is another reason why i didn't want to rush out the next update.
Stay tuned, and Have a great day :)
@Chiheb-Bacha Once again thanks, you've got quite the accolades and attention for fulfilling a basic bit of infrastructure for mod users to move up to Enhanced. Look at all these pleas to come rehab even more bits!
I won't ask you to take on any new task, but do you have any advice for a LUA engine for Story Mode (ie, it is not for FiveM)? Even from Legacy the best one I see is the one from JM36. I'm using it for some (so far unreleased) mods but it's very incomplete. You seem clued in to give advice here.
@HRHGJR4 Hey. I am honestly not aware of any LUA wrappers other than the one you mentioned. It seems the original one (with around 3m downloads) hasn't been updated in years, and most people either stuck to .Net or C++ for story mode.
As for bringing other mods to enhanced, like mentioned in the pinned comment, i just finished porting Menyoo to Enhanced, will then finalize the next SHVDNE update, then I will start eliminating the other tools one by one (All the adjusters (packfile, modkit, weapons, decals, boundaries, ressource, ...)). It will however take longer than usual, as I'm currently back to uni full-time, and I've got a lot to do.
@Chiheb-Bacha Good luck in uni bro. Having a portfolio stack of completed projects like these ports is a huge resumé booster when you get out.
@HRHGJR4 Thank you bro, and yeah, especially that I learned a lot doing so. Probably makes me an overqualified junior xD.
@Chiheb-Bacha This menyoov2.2.0b3 was updated by the author four days ago. Is the version you just ported also this one?
@a012345 Yes, i ported menyoo to enhanced and contributed my work to the main repository. Curtis will handle the rest, as I don't have time to maintain a separate enhanced port.
For me, its working bro! I have installed the ScriptHookVDotNet, and installed, for now, Vehicle Controller, and its working. Thank you bro, great job!
@Chiheb-Bacha This is a great mod my friend, thank you for sharing! 👏🐺💯 Really helped a ton and made some of my scripts actually work on enhanced!! ❤️ I got a quick question, is it possible to get an update for the pack file limit adjuster to be available for enhanced as well? I know you didn't make that mod or anything, but with that I'd be able to bring my ped mods to enhanced which is not currently possible to my knowledge without it. Without the pack file limit adjuster, the game just crashes on loading. Wasn't sure if you had any tips or knowledge of how to get it working or if an update was possible for a mod like that? Any help would be appreciated, thank you!! 🔥🐺🔥
https://www.gta5-mods.com/tools/packfile-limit-adjuster#comments_tab
@Chiheb-Bacha Actually, just noticed on your other comments that you are working on it currently as of this month! That is great news!! I'll just be patient and wait for that release! You are a legend my friend! 💯
@Tuchet Thanks for the feedback :)
@WolfFire23309 Welcome and thank you ^^. And yeah, i started working on it a couple of days ago. Should be ready by the end of this week, after some more testing and code cleanup.
@Chiheb-Bacha Now let me ask you something, since this one is a replacement for the "nightly" versions from Github, do I have to restore the name of all .CS scripts that required either a "2" or "3" added after the title, depending on whether the script was ScriptHookVDotNet2 or 3 based?. For example, I have a few .CS scrips in my 'scripts' folder that required me to add either a 2 or 3 in order to work with the nightly versions of SHVDN, i.e. "ySFbikeA_afterburner.cs" > "ySFbikeA_afterburner.2.cs". The addition of the number is not necessary anymore?
@JAM102970 I believe it is still necessary, as that requirement has been introduced to SHVDN before SHVDNE was created, and so it was kept unchanged. But please feel free to test it and let me know.
@RemixPL1994 resource adjuster not required as enhanced has dx 12 which fixes it mostly
@Chiheb-Bacha for some reason, gta crashes shortly after selecting single player. I’m on steam deck, using a legit steam version. I tested with and without SHVDNE, and without it launches fine, even with Script Hook V and a trainer. No other mods. Any idea?
@CheddarChase hey. SHVDN and as an extention SHVDNE does not work on linux/steamdeck out of the box. You can look into this old discussion on the SHVDN repo, where some people claim to have gotten it to work https://github.com/scripthookvdotnet/scripthookvdotnet/issues/1506 and maybe it could work for you too. But officially, it is not supported, as it uses some windows-specific dependencies, and would require a full internal refactor, which might break existing scripts.
I got it to work on Steam Deck! Basically all I had to do was use ProtonUp-QT from the Discover Store to set my Proton version for GTA V to anything before 5.0. After that, open ProtonTricks, double click GTA, choose "Select the default wineprefix" and click OK. Choose "Select a Windows DLL or component". Choose dotnet48 and click OK. Click through all the errors and prompts. It will eventually start installing. It'll take quite a while, but eventually it should install successfully. After it installs, go back into ProtonTricks, choose the game, then choose select the default wineprefix again. Then choose Run wincfg. At the bottom of the next window. set the windows version to Windows 10. You may get a few error when launching GTA, but it should actually launch with the mod enabled.