Installation
CameraService is readily available for installation via GitHub or Roblox Creator Store.
Roblox Creator Store
- Open this and click Get Model.
- In Roblox Studio, open the Toolbox → Inventory and insert CameraService into
StarterPlayerScripts - Start scripting!
GitHub
- Download the latest GitHub release.
- You may port over the
CameraService.luacontents akin to above, or to open the adjacent.rbxmfile to play around with the demo.
What Type of Script?
CameraService is stored as a ModuleScript on Roblox.
Your First Camera
Say you're building an exhibition showcase. You want the motion to be more smooth than typical.
Add a LocalScript alongside (or under) the module and require it:
-- LocalScript in StarterPlayerScripts
local CameraService = require(script.Parent.CameraService)
-- Switch to first-person on join
CameraService:SetCameraView("ThirdPerson")
That's it — you now have a smoothed, mouse-locked first-person camera. Switch views at runtime the same way:
CameraService:SetCameraView("ThirdPerson")
-- Other options: "FirstPerson", "FirstPersonVariant", "ShiftLock", "Cinematic", "Default"
Tweak a property on the fly with :Change():
-- Bump the smoothing up for a dreamy feel
CameraService:Change("Smoothness", 4)
Disabling CameraService
While a view is active, CameraService sets cam.CameraType to Scriptable. Set the view to "Default" to hand control back to Roblox's default camera.
Next steps
- Browse the built-in views to see what ships out of the box.
- Skim the examples.
- Dig into the API Reference for every property and method.