F.A.Q.

# Can I use SHVDN in any game versions?

Yes! SHVDN itself supports all official versions including v1.0.372.2. If we find our APIs that can be technically used but not working in some game versions despite our intention, we will fix them. If you find some of them or if you wonder the supported game versions of certain APIs due to the lack of the documentations, your reports would be greatly appreciated on GitHub.

Since some major game update introduces some native functions (Rockstar calls them commands) and SHVDN lets their scripts do unsafe operations including but not limited to arbitrary direct memory reading/writing, some advanced SHVDN scripts may not work in certain game versions. If some scripts do not work in certain versions and you believe it is wrong, you might want to consult the script developers for more supported game versions.

# Help! My pirated copy does not work!

SHVDN does not contain any anti-piracy checks of any kind. Pirated copies just do not receive support. If it works, then it works. If not, additional support is not going to be added. We just do not care about any pirated copies.

# Does SHVDN disable all Rockstar Games Social Club features?

Nope! SHVDN does not intentionally disable any Rockstar Social Club features. For example, you can use your GTA:O characters in Director Mode while SHVDN is installed in your game.
However, the game prevent you from playing GTA:O while an ASI loader is installed for altered game files. Therefore, you must uninstall any mods including SHVDN and the ASI loader before you can play GTA:O.

# My SHVDN keeps crashing, what am I going do to fix the issue?

You should find out what scripts are causing your issue. You would want to try removing suspicious scripts one by one.
Unfortunately, Script Hook V's structured exception handling disables SHVDN (and any ASI plugins) to create crash logs, so we cannot help you with our crash logs until some ASI plugin is released that can disable Script Hook V's structured exception handling. If said plugin is released, we may create our crash logging feature.

# Can I cherry-pick the versions of ASI and scripting DLLs I want to use to run without having issues?

No, you can't. You need to use the ASI file and the DLL files for APIs in an archive of the same version because the internal structure of the SHVDN runtime and scripting SDK/APIs can be changed without notices. If you experience some issues by cherry-picking a ASI file and DLL files for scripting SDK/APIs, we will not provide support at all.

# Is there .NET Core/.NET 5+ variant of SHVDN?

In official, that will not happen until the v4 SDK of SHVDN is released for more organized and polished SDK. The lack of most features of AppDomain, which SHVDN relies on for script reload, forces us to pracically recreate a runtime against .NET Core/.NET 5+ from scratch before we can create our .NET Core/.NET 5+ variant of SHVDN. Also, we are aiming to figure out major flaws of our v3 scripting SDK/API before we release SHVDN v4.
You can try ScriptHookV .NET Core if you want to try a forked .NET 7 variant of SHVDN.

# How can I use a scripting SDK/API for my script?

You create your project for a "Class Library (.NET Framework)", and add the ScriptHookVDotNet3 package as a reference. You can use the NuGet package for v3 SDK/API for easier management. And then, you create at least one class that inherits from the GTA.Script class and has a public default constructor.
Your scripts should subscribe to at least one of Tick, KeyDown, and KeyUp events to have some effect on the game in practical. Also, they should subscribe to the Aborted event in the typical case so they can dispose of their own scripting resources when about to be terminated.

# Why don't scripting API have any method declarations for native functions? Why is there no wrappers for the method declarations?

We decided not to do either of them by design. We don't provide wrappers for the typed method declarations intended to use within scripts, because the C# compiler does not remove any unused methods or properties whose visibility are restricted to its assembly. Scripting SDK/APIs will never have any typed method declarations because you have to disassemble GTA5.exe to exactly know how natives work and Rockstar may change some native functions to take additional arguments in some game updates (there are cases in v1.0.1103.2 at the latest).

# Is SHVDN the official abbreviation of ScriptHookVDotNet? What happened to "Community Script Hook V .NET"?

For the official abbreviation, yes. We recommend using "SHVDN" as the abbreviation of ScriptHookVDotNet, just like the developers of RAGE Plugin Hook (MulleDK19 and LMS) always use "RPH" as the official abbreviation. On the other hand, we don't recommend using "SHDN" ('V' is absent) since using SHDN as an abbreviation may result in the ambiguity between ScriptHookVDotNet and GTAIV .Net Script Hook in GTA communities.

We rarely use the name "Community Script Hook V .NET" today as much more people calls this plugin ScriptHookVDotNet than those who call "Community Script Hook V .NET".

# So... Who's developing ScriptHookVDotNet?

kagikn and contributors, and formerly crosire led the project since April 2015 until May 2023. kagikn is leading the project since crosire assigned kagikn to the repository maintenance except for the participation in changes to the ScriptDomain core in May 2023.