Quick start guide to modding Grand Theft Auto V
Quick start guide to modding Grand Theft Auto V
This is a quick and simple guide to the basics of installing and playing with mods on Grand Theft Auto V for Single Player. It won't cover MP mods like FiveM.
Modding GTA:O or console games is not welcome here and will not be discussed.
Setting things up
For a fresh start, you'll need the following things:
- An updated, clean, unmodded, legit copy of Grand Theft Auto V (both Steam/Social Club are fine) that works normally
- An internet connection
- An archive manager. I recommend 7-Zip
- Enable showing file extensions in Explorer
- Patience. Read the manuals!
It's best to start out with a clean, unmodded game, to prevent conflicts and instabilities. If you've tampered with the files, it's best to either re-install the game or to let Steam or Social Club verify your files before continuing. If you also had script mods installed and don't remember what to delete, just start out clean.
For reference, the following files enable loading and running mods from the normal launcher:
- dinput8.dll - ASI loader
- ScriptHookV.dll - Script hook
- OpenIV.asi - OpenIV archive loader
If you recognize any of these and don't exactly know why these are there, start out from scratch.
From now on, I'll refer to the GTA V installation folder as "
GTAV_root". Where it's installed depends on where you got the game and your installation preferences. For example, the default folder for an install on Steam is
C:\Program Files (x86)\Steam\steamapps\common\Grand Theft Auto V.
Finding it on Steam:
Library-> Right-click Grand Theft Auto V ->
Browse local files
Rockstar Games and Epic Games sadly don't have an installation folder shortcut, so you'll need to find these on your own.
GTA V mods roughly exist in two distinct categories: resource mods and scripts. You'll need a couple of things to get this to work!
- ScriptHookV enabled scripts for GTA V.
- OpenIV enables modifying archives and adding archives.
- Optional: ScriptHookVDotNet enables scripts written in .NET languages. It relies on ScriptHookV.
- Optional: RAGE Plugin Hook is like ScriptHookVDotNet, but works standalone and uses a custom launcher for the game.
Download the archives or installers from the websites.
Installation: Follow the READMEs!
- ScriptHookV: Open the archive, extract the files inside the bin folder to your GTA V root.
- ScriptHookVDotNet: Open the archive, extract
ScriptHookVDotNet2.dllto your GTA V root.
- OpenIV: Run the installer.
ScriptHookVDotNet has its scripts inside a separate folder inside the GTA V root folder, so create a
scriptsfolder in there.
.csscripts you download will go in here.
OpenIV needs some additional setup. Run the program and point it to your GTA V directory if necessary. Go to Tools -> ASI Manager and install
OpenIV.ASIif they aren't installed already. You'll also want to set up a
modsfolder. This keeps your original game files clean! As a start, put your
update.rpfin the mods folder. You'll need to edit it anyway.
It's a good idea to only download mods from trusted websites, especially script mods. Remember that scripts are just libraries and can execute any code. Mods that change textures, vehicles and the like are less risky, but always do your research before downloading mods from random websites.
Good resources are:
Resource replacement mods (peds, vehicles, maps)
If you download a mod that replaces an original resource, like a vehicle mod that replaces a default vehicle, you'll need to use OpenIV. The mod you download should have come with instructions with which file to replace in which exact folder and archive. FOLLOW THOSE INSTRUCTIONS.
Resource add-on mods (peds, vehicles, maps)
If you download a mod that's marked as an add-on, it means it doesn't replace existing resources. They are added as DLCs. In general they follow the following set-up:
- The data files are placed in
- The entry is added to
dlclist.xml. The exact location is
GTAV_root/mods/update/update.rpf/common/data/dlclist.xml. This entry looks like
When adding an entry to
dlclist.xml, take care to keep the opening and closing tags are exactly
Item. If they are different, the file is invalidated.
Some mod authors also tell you to change
extratitleupdatedata.meta, but this is NOT necessary!
You also need to install the following tools, as they are required to make the game deal with loading more resources:
What version am I running?
There are two versions, the GTA:O version and the executable version. ScriptHookV, ScriptHookVDotNet, RagePluginHook and most version-dependent mods (scripts) use the executable version. You can find this by right-clicking the GTA5.exe file and checking the Details Tab -> File Version. As of writing, the version is 1.0.2215.0.
If you download a mod that ends with
.oiv, this means the mod author prepared a nice package for you. If you installed OpenIV properly, you can just double click the file, after which an OpenIV pacakge installation prompt will open. Check any information in the description window and press install. These mods can add files and/or replace files, so be sure to double-check if you've got the correct package.
Scripts allow to add extra functionality to the game in form of extra missions, extra functionality, trainers and much alike. Scripts need to be loaded through their respective library. If you download a script, it will usually say for which library it is made.
Some scripts come with additional configuration files. Extract these files according to the readme of the script.
ScriptHookV: .asi files
Scripts ending with the
.asiextension are ScriptHookV scripts and go in the main GTA V folder.
ScriptHookVDotNet: .dll, .cs, .vb
Scripts ending with the
.vbextensions are usually ScriptHookVDotNet mods and go in the
RAGEPluginHook go in the
For most resource mods, you should just reinstall the mod completely by using the new files.
For scripts, you should take note of the changelog or other comments the author had. Usually it suffices to just replace the
.cs, but sometimes the configuration files also need replacement.
Rockstar releases new DLC from time to time. Some mods keep working, other break. Here's a basic guide of steps to take to prevent this, or to get back up and running quickly!
Disabling all mods
Moving or renaming
dinput8.dllwill stop ScriptHookV, ScriptHookVDotNet and OpenIV from loading. If you properly used OpenIV's mod folder, this disables all mods and you should be able to play the unmodded game and even join a GTA:O session.
Backup / Reverting the update (downgrade game)
BEFORE a new DLC update drops, Rockstar hypes it up. Once a new DLC is announced, ensure you have a backup of the following files
It's smart to label these. I put them in a folder with the executable version. For Smuggler's Run, this is
v1.0.1180.2. When the next update drops and you want to revert, back up the new files and replace them with your old backups.
Updating your mods
You can also choose to update your mods. In general it's a good idea to wait until some core resources (ScriptHookV, ScriptHookVDotNet) have been updated to the new game version.
Each update, you'll need to update your
GTAV_root/mods/update/update.rpfto match the version of
GTAV_root/update/update.rpf. You can then transplant your changes from your old modded
update.rpfto the new
Things to pay attention to:
- The new
dlclist.xmlprobably has a new entry, so take care copy-pasting your modded
gameconfig.xmlis very version-dependent. If you use add-on mods, it's very likely you'll need to wait for a new updated
gameconfig.xmlthat supports add-ons.
- Some replacement mods might not work after updating. In this case, the new update package overwrites old changes. (Rockstar sometimes fixes old models)
Most scripts rely on ScriptHookV and just use natives. These will work after ScriptHookV gets updated for the new update, and won't need updating themselves.
ScriptHookVDotNet uses offsets for peds and vehicles, so it's wise to wait until ScriptHookVDotNet gets an update to support the new update. Most ScriptHookVDotNet scripts don't need updating themselves.
If a script crashes after an update, just disable it and keep an eye on the mod page. The author might update the script in the coming hours/days/weeks/months/years. It might help to notify the script author.
Outside of the common update woes, things can of course go wrong. Here are a few common things that go wrong:
DLC Vehicles disappear when spawning
Rockstar disables MP cars in SP. Most trainers will fix this after an update.
- Add-On Vehicle Spawner automatically enables MP vehicles in SP.
- Enhanced Native Trainer also does this.
- Simple Trainer also works, but needs to be updated after each patch.
- Menyoo also works, but needs to be updated after each patch.
Infinite loading screen or crash during loading
You probably installed a mod pack with many vehicles or manually installed too many vehicles. This is related to
gameconfig.xmland you should find a replacement
gameconfig. Also don't forget the heap adjuster!
Crashing upon full screen
If you're crashing whilst attempting to full screen your game or exiting full screen, this is mostly caused by Reshade not being configured correctly, and thus will be set to inject into the wrong DX version (should be 11). If the reshade
.dllname is anything other than
ReShade.dll, you're targeting the wrong version of DirectX, even if in-game you're running DX9 or 10. To fix this download the Reshade Binary and target
GTA5.exewith DX version 11. After this to ensure compatibility with Boris Vorontsov's ENB, change the
enblocal.inito reflect the respective ReShade dll which has just been created in the root game directory.
Vanilla vehicle spawning upon replacing said vehicle
A simple solution to fix replacement of vanilla vehicles, especially for old mods, is to use the search function in OpenIV (
CTRL+F3) and search for the respective vehicle yft, and consequently replace the one in the most recent dlcpack. If you are not sure about the order in which some DLC packs were added, you can sort them by date modified.
GTA V throws this error when game memory allocation runs out, specifically when attempting to load too many DLC packs. You can fix this by, if you haven't already, installing a custom
gameconfig.xml, or else use Heap Adjuster. If however you have already used both these methods. you can remove some, or merge dlc's (guide).
GTA V throws this error in most cases upon spawning an object which references a null entry or when the engine is told to stream an object greater than the max value. As this is mostly a problem when trying to spawn vehicles, you can fix this by reducing the total poly count for the vehicle, modifying the base value of the vehicle in Zmodeler3 or reducing the amount of materials that the car has. Also getting rid of any embedded textures on the yft can sometimes solve this issue.
GTA V throws this error when the engine's memory allocator cannot provide enough memory to store a singular or multiple objects. As this is mostly a problem with script mods, you can attempt to fix this by ensuring that said script is not creating too many entities.
Crashing on entering a vehicle
There's a wrong reference to the vehicle handling and/or layout. Check
vehicles.metafor the correct references.
Crash on startup with error on corrupt files
You're not using a mods folder and/or referring to non-imported files in
content.xml. As OpenIV.asi disables the checking of game file integrity, any message referring to corrupt game files means that either Scripthook V or OpenIV.asi is missing.
You might want to check this thread.
Things to pay attention to:
Mod packs can add lots of resources. Usually when installing mod packs, it's necessary to get a
gameconfigthat allows many add-ons. Examples of big mod packs:
A small note about "Redux": This is mainly composed of resources stolen from various mod authors. You won't find much support for an unstable game with Redux. Be a nice person and avoid that stolen mess
Level of detail is important for performance and appearance. Some vehicle mods have no good LODs, thus will either require a lot of performance even at a distance, or have a disappearing body. Take care installing these mods, especially if they are replacements. Your framerate can suffer significantly, no matter how good your computer is!
Scripts can be unstable, either due to updates or due to how they are written. If the script crashes, this will usually be caught by the hook or runtime.
A ScriptHookV crash will show an error window before closing the game. Write down the crashing script and contact the author. If you do, please provide logs:
- Any other logs the script might have generated
A ScriptHookVDotNet script crash is silent. The script just doesn't work any more. As with ScriptHookV scripts, report this to the author. Provide:
- Any other logs the script might have generated
Suggestions in any form are welcome You can make a pull request on the repo, or just comment on the thread.
2020-05-21: Removed broken "MP Vehicles in SP" and add Sjaak's TrainerV.
2021-03-12: Added "What's my game version?"
2021-04-17: Clarified "GTAV_root"
2021-04-19: Added required tools for add-ons
I'd like this thread to stay open for suggestions and discussion. I also think this forum is the right place, as people seeking support probably end up here before the
General Modding Discussion / Tutorialssection.
You can discuss the guide here. Questions about modding will be removed.
Maybe you could also name RagePluginHook, because there are a good amount of people who use RPH for LSPDFR and other mods. (well mainly LSPDFR)
But RPH does a lot of good things like having an auto-updater and the functionality to automatically make backups of your game and reversing game version with ONE Click. It has a console and a lot of development helping things and it works flawless.
I know most people use SHV, but that's also because they never heard of RPH, let people know there is an alternative to SHV and that you can use both at the same time without any problems (that's what I am doing)
@Fledron What is the difference between scripthook and ragepluginhook?
@Cri-28 rage plugin hook is used for plugins while script hook is for scripts. RPH is also an .exe
This is an awesome guide, but a number of parts are leaving me lost.
- update.rpf . You recommend copying this rpf into the new mods folder. But then you also ask us apparently to create a folder called update.rpf? You say: "The exact location is GTAV_root/mods/update/update.rpf/common/data/dlclist.xml". Am I right? Is this a folder?
- I popped the required hook, etc., files into my GTA root folder. Then, trying to run GTAV on my PC in Story Mode single player from my Steam account offline, I got either a crashed game or booted out of the offline social club. If I clear out my games folder to revert to vanilla, I can play once more. I'm not even on line! How is this happening when I am playing SP and offline? I'm hopelessly confused. Which hurts, because I'm an experienced Skyrim and FO4 modder.
Perhaps a couple of clarifications in the guide could clear these points for folks, please.
- update.rpf is an archive. I used OpenIV's folder notation I'll see if I can do something about that in the guide, but I'm afraid it's just how things are written up.
- Might be better to discuss this outside this thread, as it seems not everything has "gone right". You might want to create a new thread and post whatever logs the scripts generate.
In general it's a bit more finnicky than TES and Fallout since there's no official mod support whatsoever. Oh, how much I wish something like Mod Organizer would exist for GTA V
Ah - thank you! So I use OpenIV on the rpf. That makes sense now. Coming new to it, it looked like a folder to be created.
I'll cast around elsewhere as to what is going on in my new game. Thank you for your help!
One thing the guide doesn't really mention I mean sort of in passing but not in depth is how to install mods using the RAGE. I know the RAGE has a plugins folder and you drag .dll files, but for some mods (Addon Car Spawner) dragging the .dll, the .ini, and the folder into the plugins folder simply doesn't work. Perhaps the guide could elaborate on what RAGE is good for and the fact that even with RAGE you still need ScriptHook.net and a scripts folder to get many things to work...
@nasch007 rage uses plugins like lspdfr etc. addon car spawner is a script, not a plugin
One thing the guide doesn't really mention I mean sort of in passing but not in depth is how to install mods using the RAGE. I know the RAGE has a plugins folder and you drag .dll files, but for some mods (Addon Car Spawner) dragging the .dll, the .ini, and the folder into the plugins folder simply doesn't work. Perhaps the guide could elaborate on what RAGE is good.
Thanks for this excellent guide. Two questions:
Regarding files needed to "downgrade game": Do you know if those of us who have the "retail version" (dvd disks) of the game, have to backup any other file(s) except for the "update.rpf", "GTA5.exe" and "GTAVLauncher.exe" ? ("steam_api64.dll" is obviously for those who have the "steam version") Furthermore, is it only a matter of replacing these files and mods already installed before the update will (theoretically at least) work again?
Regarding "resource mods/update" and the "transplanting changes from the old update.rpf to the new: I'm not sure what you mean when you say that the "dlclist.xml probably has a new entry, so take care copy-pasting your modded dlclist.xml" Can you elaborate on that?
Thanks in advance for any help!
I've cleaned up the thread with general modding support questions.
Sorry for the late reply - didn't see this.
- You'll also want Unknown's Launcher Bypass, though afaik just those files should suffice.
dlclist.xmlfile contains numerous entries for DLC packs. For example, for the casino update, Rockstar added these lines:
If you just copy over your existing
dlclist.xml, you'll not have the content in the last update.
Posts here should be about the guide, criticism, addition or whatever. For general help, make a thread.
thank you for guide new to moding with gta 5 it has helped heaps i do i have a question how exactly do you tell or find if a version of gta 5 you are running is there a way to do that in game and if so how do you know when a mod you use has been updated to that version
@jack1123 Right click GTA5.exe and select properties and then details tab for version.
Cleaned things up a bit.
THIS IS NOT A GENERAL SUPPORT THREAD.
Ask your general support questions HERE.
thank you for sharing with us