SlateUI
DocsComponentsGitHub
Install SlateUI Plugin
SlateUI
DocsComponentsGitHub
Install SlateUI Plugin

Components

  • installation
  • components
  • button
  • inputs
  • notification
  • progressbar
  • loading
  • proximity
  • router
  • cutscene
  • effects
  • subtitles
  • cameraplus
Component

Camera+

An advanced first-person camera controller with dynamic FOV scaling, directional movement speeds, and an integrated stamina & exhaustion blur system.

Overview

Camera+ is a drop-in LocalScript replacement for the default Roblox camera. It forces a highly immersive first-person perspective by overriding the CurrentCamera to Scriptable mode. It features dynamic Field of View transitions based on movement state, smooth head-bobbing calculations, and a fully integrated stamina system.

Installation & Setup

Because Camera+ completely overrides core Roblox camera and control mechanics on every RenderStepped frame, it must be placed in StarterPlayerScripts as a LocalScript.

No external modules are required. By default, it expects the character to have a Humanoid and HumanoidRootPart.

Configuration: Movement & FOV

luau
1
2
3
4
5
6
7
8
9
10
-- Found at the top of the Camera+ script
local walkspeeds = {
enabled = true,
walkingspeed = 12, -- Default W key speed
backwardsspeed = 10, -- S key speed
sidewaysspeed = 15, -- A / D key speed
diagonalspeed = 16, -- W+A / W+D speed
runningspeed = 20, -- LShift speed
runningFOV = 76, -- FOV widens for a sense of speed
}

Configuration: Stamina & Exhaustion

luau
1
2
3
4
5
6
7
8
9
10
-- The stamina system physically restricts running and applies screen effects
local StaminaSettings = {
enabled = true,
maxStamina = 100,
drainRate = 10, -- Stamina lost per second of running
regenRate = 12.5, -- Stamina gained per second walking/idle
recoveryLimit = 25, -- Stamina needed before you are allowed to run again
blurThreshold = 20, -- When stamina drops below this, blur begins
maxBlur = 32, -- The maximum intensity of the Lighting.BlurEffect
}

Multi-Platform Support

Camera+ is cross-platform ready out of the box:

• PC: Mouse movement is tied to delta capture. The F key toggles mouse freedom (configurable via CanToggleMouse). • Gamepad: Bound to Thumbstick2 with a hardcoded deadzone of 0.1 to prevent controller drift. X and Y axes are correctly clamped. • Mobile / Touch: Delta swipes are normalized across screen space for smooth turning.

Body Visibility & Transparency

The script runs an internal updatechar() loop. If CanViewBody is set to true, the script hides only the character's Head and accessories while keeping the torso and limbs visible. If set to false, it sets the LocalTransparencyModifier of the entire character to 1, acting as a pure floating camera.