Setup guide
This course uses GTA V Legacy on PC with ScriptHookV and ScriptHookVDotNet. We check the native loader, then the .NET bridge, then a small script. When something fails, that order tells us which link to inspect.
Prepare Windows
In File Explorer, turn off “Hide extensions for known file types”. This lets you distinguish MyScript.cs from MyScript.cs.txt. Showing hidden files can also help when looking for logs.
If a hook file disappears, check Windows Security → Virus & threat protection → Protection history and verify the file's origin before restoring it. Do not exclude the whole game or projects folder as a routine setup step: Microsoft warns that every Defender exclusion creates a protection gap.
Find the game folder
Locate the GTA V Legacy folder containing GTA5.exe. The loader and hooks belong next to that executable. The original ScriptHookVDotNet project targets Legacy; this guide does not cover an Enhanced installation.
Grand Theft Auto V/
GTA5.exe game executable
dinput8.dll ASI loader
ScriptHookV.dll native hook
ScriptHookVDotNet.asi .NET bridge
ScriptHookVDotNet3.dll C# API
scripts/ compiled mods
If the game is installed under Program Files (x86), a build may lack permission to copy its output into scripts/. Check the actual error and that folder's permissions before changing anything else.
Install and check each loader
- Get ScriptHookV from its author and check that it supports your game build. Place
ScriptHookV.dlland the bundleddinput8.dllin the game folder. Add the optionalNativeTrainer.asifor this check. Launch Story Mode and press F4: if the trainer opens, the native hook responds. - Follow the ScriptHookVDotNet installation guide, including its compatibility warning for newer GTA V builds. Place the release's
ScriptHookVDotNet.asiandScriptHookVDotNet3.dllin the game folder. In Story Mode, use the configured reload key (normally Insert) and check its log if nothing happens. - Create
scripts/if needed. The compiled mod for Lab 0 goes there.
Install one link at a time. If the trainer works but a .NET script does not, the native hook has already passed its own check; read the ScriptHookVDotNet log next.
Choose a C# toolchain
You need an editor and a way to build a Class Library (.NET Framework). Visual Studio Community is one option. VS Code, Rider and other editors can also work when configured for the same target.
For the projects used here, target .NET Framework 4.8 (net48) and reference the ScriptHookVDotNet 3 API. The InteractV and Street Riders project files use that target. A different target may compile locally without loading in the game's .NET runtime.
Keep a reversible check
Temporarily renaming dinput8.dll disables the ASI loading chain. If the base game works without it, restore the file and investigate the hook or script logs. Keep track of every file you move so the setup can be restored exactly.
Once the trainer opens, the bridge responds and your project builds for net48, continue to Choose your tools and then Lab 0.