Skip to content
ilkaydncPublic

About

Play GTA Vice City at any frame rate. The game still runs at 30 Hz underneath, so nothing breaks.

Resources

Stars

16 stars

Watchers

0 watching

Forks

Latest commit

 

History

27 Commits

Folders and files

Repository files navigation

VCUnlock

Play GTA Vice City at any frame rate.
The game still runs at 30 Hz underneath, so nothing breaks.

Latest release Build

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.

Compatibility

Game Version Status Download
GTA Vice City Steam   Supported VCUnlock.zip
Retail 1.0   Supported VCUnlock.zip
Japanese   Supported VCUnlock.zip
GTA III   In progress
GTA San Andreas   In progress

Mods

- = 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   Works   Works   Works
SilentPatch Build 12.1   Works   Works -
SpeedrunSilentPatch Build 11 - -   Works
Widescreen Fix 4 Oct 2026   Works   Works - Put VCUnlock.asi in scripts
Project2DFX 25 Sep 2026 -   Works -
SkyGfx 3.0b -   Works - Set ShowFPS in VCUnlock.ini
GInput 1.11a   Works   Works -
Mod Loader 0.3.10 -   Works -
CLEO Redux 1.5.1 -   Needs fix - 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.

Video

VCUnlock showcase: GTA Vice City at 30 fps and 240 fps

Why

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.

Features

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

How it works

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

Tested

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.

Install

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.

  1. Install Ultimate ASI Loader, the 32-bit (Win32) version: put its dinput8.dll into the game folder, next to gta-vc.exe.
  2. Download VCUnlock.zip.
  3. Extract VCUnlock.asi into the game folder, or into its scripts or plugins folder if your other .asi files are there.
  4. 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.

Settings

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
Display Setup, original Display Setup, VCUnlock

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.

Troubleshooting

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.

Building

You need Visual Studio 2022 or newer with the Desktop development with C++ workload.

build.bat

The plugin is written to build\VCUnlock.asi. Pushing a tag such as v1.0.0 publishes a release.

Special thanks

Twitch Root1X made VCUnlock with me, from the first idea to the release.

Twitch YBurakD played build after build and gave the feedback that shaped the fixes.

Licence

VCUnlock is released under the MIT Licence.

About

Play GTA Vice City at any frame rate. The game still runs at 30 Hz underneath, so nothing breaks.

Resources

Stars

16 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages