To explore and edit RPF files, you can use any of these:
- https://openiv.com/
- https://www.gta5-mods.com/tools/codewalker-gtav-interactive-3d-map (Tools > RPF Explorer)
To load unencrypted RPFs (preferably from a "mods" folder), you can use any of these:
- OpenIV.asi (can be obtained via OpenIV)
- https://github.com/martonp96/ClosedIV
Note that some changes will affect your asset hashes, which will require a menu to fix so that you can join Online sessions with players without these modifications.
Some RPF mods, specifically add-on vehicles, rely on adding a new DLC to the game. Some mod menus (Stand and 2Take1) have a "Custom DLCs" feature that only requires you to add the DLC to a "Custom DLCs" folder, which will then allow you to load the DLC without needing to restart the game. The mod menu will handle registering the DLC and loading the unencrypted RPF.
Tool | Provides ScriptHookV API | Startup | Can Go Online |
---|---|---|---|
ScriptHookV | Yes | Always | No* |
Mod Menus | Yes | Never | Yes |
Ultimate ASI Loader | No | Always | Yes |
DLL Injectors | No | Both | Yes |
* If you inject Stand, it will remove this restriction. The free version is enough for this and after you're in online, can unload it again, although that could reduce your safety.
In my experience, there are two types of ASI files:
- Don't need to be injected at startup but require the ScriptHookV API (what most people would refer to as "ASI Mods")
- Need to be injected at startup and don't require the ScriptHookV API (RPF loaders, config modifiers, etc.)
For the first type, ScriptHookV and mod menus are perfectly viable ways to use them. Mod menus have the advantage that you can unload and reload them at any time. (Although some menus can be unstable with this. I suggest using Stand.)
For the second type, ScriptHookV's dinput8.dll, Ultimate ASI Loader, or a plain old DLL injector will do the trick. Although note that OpenIV.asi relies on how SHV's dinput8.dll loads the ASIs slightly later; you can emulate this with a delay in a DLL injector.
Note that you don't need to decide on one specific method of loading ASIs and can use different ones for different ASIs.