
roblox-camera
Use when scripting or fixing Roblox camera behavior: CFrame placement, screen raycasts, first/third-person, shoulder views, cutscenes.
- Installs
- 1.9K
- Last 24h
- +49
- Trending rank
- #3390
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/tabooharmony/roblox-brain --skill roblox-camera- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads roblox-camera automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Roblox Camera
When to Load
Load when scripting custom camera behavior (cutscenes, third-person follow, custom rotation), manipulating CFrame for placement/rotation, raycasting from the screen, or building a non-default player view. Client-only.
Quick Reference
The Camera: workspace.CurrentCamera: one per client. Set CameraType = Scriptable to disable defaults and take full control. Without it, defaults overwrite your CFrame every frame.
CameraType: Fixed, Attach/Watch/Track/Follow (subject-following), Custom (default), Scriptable (no default), Orbital (fixed Y, rotates around player). CameraSubject cannot be nil: setting it reverts.
Key properties: CFrame, CameraSubject, FieldOfView (deg), FieldOfViewMode (Vertical/Diagonal), NearPlaneZ, ViewportSize, HeadLocked, HeadScale, Focus.
CFrame essentials:
| Operation | Luau |
|---|---|
| Position only | CFrame.new(position) |
| Look at target | CFrame.lookAt(position, target, upVector) |
| XYZ rotation | CFrame.Angles(rx, ry, rz) |
| Local to world | cf * Vector3.new(0, 0, 10) |
| Interpolate | cf:Lerp(goal, alpha) |
| Unit axes | cf.LookVector, cf.RightVector, cf.UpVector |
Custom camera loop: always PreRender, never Heartbeat:
camera.CameraType = Enum.CameraType.Scriptable
RunService.PreRender:Connect(function(dt)
local desired = CFrame.lookAt(head.Position - offset, head.Position)
camera.CFrame = camera.CFrame:Lerp(desired, math.min(dt * 10, 1))
end)
Raycasting from camera: camera:ScreenPointToRay(mx, my) (accounts for GUI inset) vs camera:ViewportPointToRay(mx, my) (raw, NO inset). ScreenPointToRay returns a unit Ray (1 stud); multiply Direction by length for the actual raycast.
Pitfalls:
- Client-only. Server sets silently dropped.
- Without
Scriptable, defaults overwrite your CFrame every frame. PreRenderfor camera (visual sync).Heartbeatadds 1-frame lag.RenderSteppedstill works but is superseded byPreRender.Camera.CFramelacks VR head rotation; useGetRenderCFrame()for the true view.SetRollis outdated; apply roll viaCFrame.Angles(0, 0, roll)on CFrame.CFrame.new(pos, lookAt)is legacy (back-compat only); useCFrame.lookAt(at, lookAt)for new code.
See references/full.md for first/third-person recipes, cutscenes, screen shake, mouse-look, full API.
FAQ
What does the roblox-camera skill do?
Use when scripting or fixing Roblox camera behavior: CFrame placement, screen raycasts, first/third-person, shoulder views, cutscenes.
How do I install roblox-camera?
Run npx skills add https://github.com/tabooharmony/roblox-brain --skill roblox-camera in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/roblox-camera/ (personal) or .claude/skills/roblox-camera/ (project).
Which AI agents can use roblox-camera?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is roblox-camera safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains roblox-camera?
It is published by tabooharmony in tabooharmony/roblox-brain. It has 1,855 recorded installs.
More from tabooharmony/roblox-brain
roblox-building
tabooharmony/roblox-brain
Use when building or editing geometry, maps, props, or generated assets with MCP or standalone Luau.
roblox-animation-vfx
tabooharmony/roblox-brain
Use when adding, changing, or fixing Roblox animations, particles, beams, trails, tweens, camera shake, or other visual effects.
roblox-studio-mcp
tabooharmony/roblox-brain
Use when working in Roblox Studio through MCP: editing scripts or scenes, generating assets, playtesting, screenshots, or input.
roblox-lighting
tabooharmony/roblox-brain
Use when setting up or changing Roblox lighting, atmosphere, day/night cycles, or post-processing effects.
roblox-gui
tabooharmony/roblox-brain
Use when building or fixing Roblox menus, HUDs, shops, dialogs, or UI that must work on phones, tablets, desktop and console.
roblox-luau-patterns
tabooharmony/roblox-brain
Use when writing or refactoring Roblox Luau modules, object lifecycles, signals, task scheduling, pcall, and cleanup.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.