Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
nonlooped avatar

Roblox Physics

  • 52 installs
  • 11 repo stars
  • Updated August 3, 2026
  • nonlooped/roblox-suite

Roblox rigid-body physics for vehicles, mechanisms, doors, and platforms: assemblies, constraints, mover forces, network ownership, and collision filtering.

About

Covers Roblox rigid-body physics including assemblies, root parts, anchoring, weld vs rigid constraints, mechanical and mover constraints, network ownership, collision filtering, and the sleep system. A developer uses it for anything that moves or connects under physics simulation.

  • Mechanical (hinge, spring, prismatic) and mover (AlignPosition, VectorForce) constraints
  • Network ownership, collision filtering, and adaptive timestepping

Roblox Physics by the numbers

  • 52 all-time installs (skills.sh)
  • +14 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #160 of 247 Game Development skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/nonlooped/roblox-suite --skill roblox-physics

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs52
repo stars11
Last updatedAugust 3, 2026
Repositorynonlooped/roblox-suite

What it does

Roblox rigid-body physics for vehicles, mechanisms, doors, and platforms: assemblies, constraints, mover forces, network ownership, and collision filtering.

Files

SKILL.mdMarkdownGitHub ↗

roblox-physics

Official sources (always check these for the latest):

  • https://create.roblox.com/docs/physics
  • https://create.roblox.com/docs/physics/assemblies
  • https://create.roblox.com/docs/physics/mechanical-constraints
  • https://create.roblox.com/docs/physics/mover-constraints
  • https://create.roblox.com/docs/physics/network-ownership
  • https://create.roblox.com/docs/physics/sleep-system
  • https://create.roblox.com/docs/physics/adaptive-timestepping
  • https://create.roblox.com/docs/physics/units
  • https://create.roblox.com/docs/workspace/collisions

This skill covers the modern constraint-based physics system, not deprecated BodyMover objects. It focuses on building correct, stable, multiplayer-safe mechanisms.

When to use this skill

Activate when:

  • Building vehicles, doors, elevators, cranes, swings, suspension, or platforms.
  • Moving objects with forces instead of setting CFrame every frame.
  • Tuning stability for complex mechanisms or multiplayer physics.
  • Choosing between mechanical and mover constraints.
  • Debugging why assemblies sleep, jitter, or behave unexpectedly.

Cross-reference:

  • roblox-networking/SKILL.md for network ownership security and server-authoritative validation.
  • roblox-core/SKILL.md for services and script locations.
  • roblox-testing/SKILL.md for profiling physics with MicroProfiler.

Core concepts

Assemblies

An assembly is one or more parts connected by rigid welds or movable joints, simulated as a single rigid body.

Key BasePart properties (same for any part in the assembly):

  • AssemblyLinearVelocity / AssemblyAngularVelocity — prefer constraints or ApplyImpulse over direct assignment for realistic motion.
  • AssemblyCenterOfMass — force here produces pure linear acceleration.
  • AssemblyMass — sum of all part masses; infinite if any part is anchored.
  • AssemblyRootPart — automatically chosen root for replication and network ownership.

Root-part priority: anchored > non-massless > higher RootPriority > size/name heuristics.

Anchoring

  • Anchoring one part in an assembly makes it the root; the rest are implicitly anchored.
  • Anchoring multiple parts in the same assembly splits it.
  • To anchor an entire assembly, only anchor the root part.

Collision filtering

Use collision groups (PhysicsService:RegisterCollisionGroup, BasePart.CollisionGroup) or NoCollisionConstraint for part-to-part filtering. CanCollide, CanTouch, and CanQuery control different behaviors; see references/collisions-and-filtering.md.

Mechanical constraints

All mechanical constraints connect one or two Attachments (or Bones), except WeldConstraint and NoCollisionConstraint which use Part0/Part1.

ConstraintUse case
WeldConstraintRigidly lock two parts together, same relative transform
RigidConstraintSame as WeldConstraint but attachment-based, supports bones
HingeConstraintDoors, levers, rotating parts; motor/servo optional
PrismaticConstraintSliding doors, elevators, pistons
CylindricalConstraintSlides + rotates, like hydraulic rams or landing gear
SpringConstraintSprings, shocks, suspension
TorsionSpringConstraintRotational springs
BallSocketConstraintShoulders, ball joints
UniversalConstraintDrive shafts, constant-velocity joints
RopeConstraintCables, winches, maximum length
RodConstraintFixed separation distance
PlaneConstraintConstrain motion to a plane
NoCollisionConstraintDisable collisions between two specific parts

See references/mechanical-constraints.md for creation, orientation, motor/servo tuning, and limits.

Mover constraints

Modern replacements for deprecated BodyMovers:

LegacyModernUse case
BodyPositionAlignPositionMove attachment to a position or another attachment
BodyGyroAlignOrientationAlign orientation; LookAtPosition for tracking
BodyVelocityLinearVelocityMaintain constant velocity along vector/line/plane
BodyAngularVelocityAngularVelocityMaintain constant angular velocity
BodyForce/BodyThrustVectorForceApply constant force
RocketPropulsionLineForce + AlignOrientationFollow + face target
TorqueApply constant torque
LineForceForce along line between two attachments
AnimationConstraintConstraint driven by animation/transform

See references/mover-constraints.md for force modes (Magnitude vs PerAxis), relativity frames, rigidity, and reaction forces.

Network ownership

  • The server owns anchored parts.
  • Unanchored parts near a player character are automatically owned by that client.
  • Set ownership explicitly with BasePart:SetNetworkOwner(player) (server only). Reset with SetNetworkOwnershipAuto().
  • Assign vehicle/driver ownership carefully: the first seated player may own the whole assembly otherwise.

Security: clients can exploit owned parts (teleport, fake collisions). Validate gameplay-critical events server-side. See references/network-ownership.md.

Sleep system

Assemblies stop simulating when still to save performance. They wake on collisions, property changes, impulses, or gravity/wind changes.

  • If a slow mechanism falls asleep, increase motion or use actuated joints (motor/servo constraints) which get stricter sleep thresholds.
  • Visualize sleep states with Awake parts in Studio's Visualization Options.

Physics stepping method

Workspace.PhysicsSteppingMethod:

  • Fixed (default, 240 Hz) — best general choice; use for racing, destruction, tanks, or when most parts already solve at 240 Hz.
  • Adaptive — assigns assemblies to 60/120/240 Hz islands for up to ~2.5× performance in suitable experiences.

Use the MicroProfiler to check island distribution.

Units quick reference

RobloxMetric
1 stud28 cm
1 RMU21.952 kg
196.2 studs/s²default "Classic" gravity
35 studs/s²"Realistic" gravity (≈ 9.8 m/s²)

See references/units-and-physical-properties.md.

Common mistakes this skill prevents

  • Using deprecated BodyMovers instead of modern constraints.
  • Setting CFrame every frame instead of using forces/constraints.
  • Anchoring every part in an assembly (splits it and hurts performance).
  • Ignoring network ownership on vehicles and then wondering why input lags.
  • Trusting Touched events from client-owned parts for damage/authority.
  • Letting actuated joints fall asleep prematurely.

Scripts

  • scripts/VehicleController.lua — chassis setup with HingeConstraint steering and motor drive, with client ownership and server validation.
  • scripts/DoorHinge.lua — motorized/servo door with limits and state machine.
  • scripts/PlatformMover.luaAlignPosition + AlignOrientation platform with configurable waypoints.
  • scripts/Suspension.lua — spring-damper suspension using SpringConstraint.

How to proceed

1. Decide if the object is a rigid mechanism (mechanical constraint) or force-driven (mover constraint). 2. Plan assemblies, root parts, and anchoring strategy. 3. Set network ownership for multiplayer responsiveness. 4. Tune forces/velocities using units and physical properties. 5. Profile with MicroProfiler and watch sleep/ownership visualizations.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.