Roblox physics
Give your AI coding agent a Roblox brain. Curated skills for Roblox Studio development.
npx -y skills add TabooHarmony/roblox-brain --skill roblox-physicsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when building Roblox vehicles, ragdolls, projectiles, elevators, constraints, forces, or other physics-driven gameplay.
SKILL.md
2.9 KB, as published. Nobody here has run it
When to Load
Use this skill when building physics-driven gameplay: vehicles, ragdolls, projectiles, mechanical contraptions, elevators, swinging platforms, or anything using constraints and forces.
Quick Reference
Constraint Types
Mechanical: HingeConstraint, PrismaticConstraint, CylindricalConstraint, BallSocketConstraint, UniversalConstraint, WeldConstraint/RigidConstraint
Motion: AlignPosition, AlignOrientation, LinearVelocity, AngularVelocity, VectorForce, Torque
Spring/Rope: SpringConstraint, RopeConstraint, RodConstraint
Attachment Pattern
Constraints connect via Attachment objects. Create one on each part, set Attachment0/Attachment1, and parent the constraint to part0. Actuator types include None, Motor, and Servo.
Vehicles
Vehicles: use motorized HingeConstraint wheels, SpringConstraint suspension, servo steering, and CustomPhysicalProperties for friction tuning.
Ragdoll
Replace Motor6Ds with BallSocketConstraint: create Attachments from motor.C0/C1, set LimitsEnabled=true, UpperAngle=45. Keep Root Motor6D for HRP. Set humanoid state to Physics. Re-enable motors to recover.
Authority and Network Ownership
Classic projects: automatic ownership can give an unanchored assembly to a nearby player. SetNetworkOwner(nil) keeps it server-owned; SetNetworkOwner(player) gives a player simulation ownership. Treat player-owned physics as untrusted and validate gameplay outcomes.
Server Authority: set Workspace.AuthorityMode = Server with its required settings. Core objects can remain server-owned while prediction keeps controls responsive, so the classic secure-but-laggy trade-off does not apply. SetNetworkOwner() is not a substitute.
Rule: choose the model first. Keep NPC and gameplay-critical objects authoritative; give client ownership to non-critical physics only when the resulting behavior is acceptable and tested.
Common Gotchas
- Constraints do nothing on Anchored parts
- Both Attachment0 AND Attachment1 required (missing one = silent fail)
- Over-constraining = jitter. Tune mass with
CustomPhysicalProperties - Use Raycast for hitscan,
Touchedonly for slow physics projectiles - Always set lifetime on physics projectiles (forgotten ones kill perf)
Need more detail? Load
references/full.mdfor the complete reference with code examples, API tables, and edge cases.