Frame Rate Controller
Centralized frame pacing for Unity. Control FPS with Unlimited, Limited, Native, or Synced modes. Includes optional in-game UI HUD with FPS, refresh rate, resolution, and screen mode.
by Ezereal
Price History +
Tired of juggling VSync and FPS limits manually? Or maybe you’re setting up frame rate control in every new project?
With this Frame Rate Controller, all your frame pacing lives in one place—extremely lightweight, dependency-free (only TMP Essentials), and just two scripts (with the UI script fully optional).
✦ What It Does
Centralizes frame pacing (FPS + VSync) with four clear modes:
• Unlimited – uncapped FPS (with optional safety ceiling)
• Limited – custom FPS cap
• Native – auto-match display refresh rate
• Synced – VSync with refresh ÷ division (1–4)
Also:
- Reacts automatically to resolution, refresh, and screen mode changes
- Saves & loads settings via PlayerPrefs (optional)
- Provides a global singleton instance (drop in once, works everywhere)
- Includes an optional runtime UI (HUD + live adjustments)
✦ Why You’ll Love It
- Extremely lightweight – zero overhead, clean and efficient
- No dependencies – works out of the box (UI only needs TMP Essentials)
- Only two scripts – FrameRateController (core) + FrameRateUI (optional)
- No more rewriting frame controllers from scratch
- Instant FPS settings menu
- Debug-friendly HUD: FPS, refresh, resolution, screen mode
- Works on PC, Console, Mobile – with URP, HDRP, or Built-in
- Production-ready, drop-in, and future-proof
✦ How To Use
- Drag & Drop the prefab into your bootstrap scene
- Or control it manually with a simple API:
FrameRateController.Instance.Set(FrameRateController.Mode.Limited, customLimit: 60);
FrameRateController.Instance.Set(FrameRateController.Mode.Synced, customSyncDivision: 2);