Script Hook V .NET, known as SHVDN, lets GTA 5 run script mods written in .NET languages like C# or VB.NET. If your scripts won’t load or the game crashes on startup, the cause is almost always one of three things: a missing requirement, files from mismatched versions, or a script built for an older API. Sort those out in order and most install problems disappear.
Everything below applies to GTA 5 Legacy, the classic version most people run. The Enhanced edition uses its own separate community project, Script Hook V .NET Enhanced, with its own download and install steps. Don’t mix files between the two.
What SHVDN Actually Needs
Before you install SHVDN itself, three things need to already be in place:
- Script Hook V, the native plugin that SHVDN depends on to hook into the game.
- .NET Framework 4.8 or later, installed at the Windows level, not something you drop into the game folder.
- The Microsoft Visual C++ Redistributable, which several script mods and the loader itself rely on.
If the game crashes the instant it loads, or SHVDN never seems to activate at all, check these first. A missing .NET Framework or redistributable is the most common reason nothing works, and it’s easy to overlook because the error doesn’t always point at it directly.
Installing the Files Correctly
SHVDN comes as a zip file. The files you need sit at the root of that archive, and that’s where the confusion usually starts, because the zip also contains a readme and a Docs folder full of XML files. Those XML files are API documentation for people writing scripts, not something the game needs, so leave the Docs folder out entirely.
- Open the zip and look at the root level.
- Copy the
.asifile and theScriptHookVDotNet.dll,ScriptHookVDotNet2.dllandScriptHookVDotNet3.dllfiles. - Paste them directly into the folder that contains
GTA5.exe. - Skip the readme and the
Docsfolder.
All of those files have to come from the same release. Mixing the .asi from one version with DLLs from another isn’t supported and tends to produce odd crashes that are hard to trace back to the real cause. When you update SHVDN, don’t just overwrite one file and leave the rest alone, replace the whole set together every time.
Scripts Folder vs ASI Plugins
Once SHVDN itself is installed, individual script mods go somewhere different from the core files. Create (or use, if it already exists) a folder named scripts in the same game directory as GTA5.exe. That’s where .dll, .cs and .vb script files belong.
This is a separate concept from .asi plugins, which sit loose next to GTA5.exe rather than inside a subfolder. If a mod’s instructions say to drop a file next to the exe and another says to put it in scripts, follow that distinction exactly. Putting a script mod loose in the main folder, or an .asi plugin inside scripts, means it simply won’t load.
Stable Releases vs Nightly Builds, and the INI File
Official builds live on the project’s Releases page. For most setups the latest stable release is what you want. But the project’s own notes mention that some game versions need a nightly build instead, because the stable release hasn’t caught up with a recent game update yet. If scripts work fine right after a stable release but stop loading after a game update, that’s the first thing to check.
If you do switch to a nightly build, grab its matching .ini file as well. SHVDN doesn’t automatically add new settings to an existing, older ini file, so running a nightly build with a leftover ini from a previous version means you’re missing settings that build expects. Replace the ini along with the rest of the files when you move to a nightly build.
Fixing Crashes When You Can’t See a Log
One thing that trips people up: SHVDN’s own FAQ explains that crash logs generally aren’t available, because Script Hook V’s exception handling swallows the kind of error information you’d normally get. So there’s no neat log file telling you which script is at fault.
The practical fix is manual isolation. If the game crashes with scripts installed:
- Move every file out of the
scriptsfolder to a temporary location. - Confirm the game loads cleanly with the folder empty.
- Add scripts back in small batches, or one at a time if you only have a handful.
- Reload after each addition until the crash comes back.
Whichever script was added right before the crash returned is your culprit. It’s slow, but it’s the only reliable way to pin down the problem without a log to read.
API Versions, Legacy and Enhanced
Scripts are written against a specific SHVDN API version. Older scripts built against the v2 API still generally run, but on nightly builds you’ll often see warning messages flagging them as outdated. That’s informational rather than fatal in most cases, but it’s a sign the script hasn’t been updated to match current practice.
Some more advanced scripts, especially ones that poke at native game functions directly, can break after a game update even if SHVDN itself still works fine. If a script that used to work suddenly misbehaves after an update, check that script’s own page for a note about compatibility before assuming your SHVDN install is broken.
And again: this entire setup, Script Hook V plus SHVDN, is for GTA 5 Legacy. The Enhanced edition doesn’t use this project at all. It relies on Script Hook V .NET Enhanced, a separate community effort with its own files and its own folder structure. Installing Legacy files into an Enhanced install, or the reverse, won’t work.
Questions people ask
Why does GTA 5 crash right after I install Script Hook V .NET?
Check that .NET Framework 4.8 or later and the Visual C++ Redistributable are both installed on Windows, and make sure the .asi file and all three ScriptHookVDotNet DLLs came from the same release rather than being mixed from different versions.
Why aren't my scripts showing up in-game?
Script files with .dll, .cs or .vb extensions need to sit in a scripts folder inside the game directory, not loose next to GTA5.exe where .asi plugins go.
Should I use the stable release or a nightly build of SHVDN?
Use the stable release unless the project notes say your current game version needs a nightly build, and if you switch to a nightly build, also replace the .ini file so you're not missing new settings.
Does Script Hook V .NET work with GTA 5 Enhanced?
No, this project targets GTA 5 Legacy only. The Enhanced edition needs a separate community project, Script Hook V .NET Enhanced, with its own download and install steps.
Browse all Grand Theft Auto 5 mods on CrashMods