Play GTA Vice City at any frame rate.
The game still runs at 30 Hz underneath, so nothing breaks.
Note
VCUnlock is an unofficial fan project. It needs your own copy of GTA Vice City, from Steam, the retail 1.0 release or the Japanese release, and contains no game code or files. It is not affiliated with Rockstar Games or Take-Two Interactive. Game names and logos are trademarks of their owners.
| Game | Version | Status | Download |
|---|---|---|---|
![]() |
Steam | VCUnlock.zip | |
| Retail 1.0 | VCUnlock.zip | ||
| Japanese | VCUnlock.zip | ||
![]() |
|||
![]() |
- = the mod doesn't run on that game version, also without VCUnlock.
| Mod | Version | Steam | Retail 1.0 | Japanese | Notes |
|---|---|---|---|---|---|
| Ultimate ASI Loader | 9.7.4 | ||||
| SilentPatch | Build 12.1 | - | |||
| SpeedrunSilentPatch | Build 11 | - | - | ||
| Widescreen Fix | 4 Oct 2026 | - | Put VCUnlock.asi in scripts |
||
| Project2DFX | 25 Sep 2026 | - | - | ||
| SkyGfx | 3.0b | - | - | Set ShowFPS in VCUnlock.ini |
|
| GInput | 1.11a | - | |||
| Mod Loader | 0.3.10 | - | - | ||
| CLEO Redux | 1.5.1 | - | - | Guide |
Your mod isn't listed? Open an issue and tell me if it works with VCUnlock, needs a fix (and what the fix is), or doesn't work. I'll add it to the table.
Tip
Mod developers: if you use VCUnlock in your mod pack and it doesn't work well with your other mods, open an issue and tell me about it. I'd like to help you fix it.
Vice City was made for 30 fps. Its physics move one step per frame, so when you turn the frame limiter off, the game runs faster than it should: cars stop dead, helicopters climb too fast and boats crawl.
VCUnlock lets you play at your monitor's refresh rate while the game keeps running at 30 steps a second, exactly like the original.
It changes nothing else. Wide screen, window modes and draw distance are left to the game and to the mods you choose for them.
| Original | VCUnlock | |
|---|---|---|
| Frame rate | 30 fps cap | VSync, any cap or uncapped |
| Physics and timers | Break above 30 fps | Same at any frame rate |
| Building fade-in | 0.06 s at 240 fps | 0.5 s at any frame rate |
| Settings | Frame Limiter on or off | Frame Limiter choices and an FPS counter |
The game world (physics, AI, scripts, timers) updates 30 times a second, the same as the original with its limiter on. Your screen can show many more frames than that, so each frame is drawn between the last two world updates. Motion looks smooth, and the game underneath is unchanged.
| Part | On screen |
|---|---|
| Peds, vehicles, objects and skeletons | Smooth |
| Doors, bonnet, boot, wheels and steering | Smooth |
| Suspension, bike forks and lean, lights | Smooth |
| Cutscene characters, props and cameras | Smooth |
| Follow and scripted cameras | Smooth, mouse look every frame |
| Particles, water waves, trees and rain | Smooth |
| Markers, bullet traces, glass and ropes | Smooth |
| Plane trails, coronas and the sun | Smooth |
| HUD flashes, radio and sound fades | Every frame, at 30 fps speed |
| Engine pitch, water scroll, swinging doors | Every frame, at 30 fps speed |
| Heli rotors, animated textures, most clothing | 30 steps a second |
| Keyboard and gamepad | Read 30 times a second |
Same vehicle, same place and the same scripted input, recorded from the game at 240 fps:
| VCUnlock | Original, limiter off | |
|---|---|---|
| World updates per second | 30.00 | 240, one per frame |
| Game clock | Same as 30 fps | 8% slow |
| Infernus coasting | Same as 30 fps | Stops dead in 1.5 s |
| Maverick climb | Same as 30 fps | 79 m up in 7 s instead of 67 |
| Speeder at full throttle | Same as 30 fps | 60 to 90 km/h instead of 120 |
| Skimmer on water | Same as 30 fps | 18 km/h instead of 60 |
| Boat in reverse | Same as 30 fps | 18 km/h instead of 14 after 2 s |
Also checked:
- Vehicle lights, wheels, doors and bike lean sit where the vehicle is drawn, on every frame.
- Every per-frame fix that was removed got a breakpoint. None fired outside a world update.
- The 30 Hz world runs against a copy of the Steam executable in offline tests.
- On retail 1.0 and the Japanese release every change goes in, the same as on Steam, and the world keeps 30 updates a second.
- Other mods: see Mods.
You need GTA Vice City from Steam, the retail CD version 1.0 or the Japanese release. Other versions, such as retail 1.1, the Rockstar Games Launcher and the Definitive Edition, are not supported. VCUnlock leaves them untouched.
VCUnlock is an .asi plugin, like most GTA mods, so it needs an ASI loader. If you already have one, for example for SilentPatch, skip step 1.
- Install Ultimate ASI Loader, the 32-bit (Win32) version: put its
dinput8.dllinto the game folder, next togta-vc.exe. - Download VCUnlock.zip.
- Extract
VCUnlock.asiinto the game folder, or into itsscriptsorpluginsfolder if your other.asifiles are there. - Start the game.
To open the game folder on Steam, right-click the game and choose Manage → Browse local files. The retail game is in the folder you installed it to.
To uninstall, delete VCUnlock.asi.
Older versions of VCUnlock came as a dinput8.dll. If you have one, replace it with the ASI loader's dinput8.dll.
Both are in Options → Display Setup:
| Setting | Values |
|---|---|
| Frame Limiter | VSYNC, 30, 60, 120, 144, 165, 240, OFF |
| Show FPS | ON, OFF |
| Original | VCUnlock |
|---|---|
| Display Setup: Frame Limiter and Show FPS | |
![]() |
![]() |
Settings are saved in VCUnlock.ini, next to VCUnlock.asi, which has a few extra options:
| Key | Default | What it does |
|---|---|---|
RefreshRate |
0 |
Refresh rate in exclusive fullscreen. 0 uses the highest one |
FPSLimit |
0 |
Any frame rate cap, also one that isn't in the menu |
Log |
0 |
Write VCUnlock.log |
Older versions also had wide screen, window, draw distance and audio options. They were removed so that VCUnlock works next to other mods for those. Older versions kept VCUnlock.ini in Documents\GTA Vice City User Files. The first start moves it next to VCUnlock.asi with the settings above, and the ones you changed are kept.
Nothing changed in the game. Make sure an ASI loader is installed and VCUnlock.asi sits in the game folder or next to your other .asi files. An older VCUnlock dinput8.dll must be replaced by the loader. Set Log=1 and check VCUnlock.log. VCUnlock checks the game's code before every change and skips anything that doesn't match. If the log says "unsupported executable", your game version is not one VCUnlock knows.
Another frame rate mod. Remove other frame rate mods first.
Antivirus warning. Every release is built by GitHub Actions from this source. You can check your download against SHA256SUMS.txt on the release page.
Found a bug? Open an issue and attach VCUnlock.log and VCUnlock.ini.
You need Visual Studio 2022 or newer with the Desktop development with C++ workload.
build.batThe plugin is written to build\VCUnlock.asi. Pushing a tag such as v1.0.0 publishes a release.
Root1X made VCUnlock with me, from the first idea to the release.
YBurakD played build after build and gave the feedback that shaped the fixes.
VCUnlock is released under the MIT Licence.





