OptionalrotInitial orientation. Default: identity.
OptionalcolorAlbedo color (linear RGB, 0..1). Default: a neutral gray.
OptionalroughnessPBR roughness. Default 0.55.
OptionalmetallicPBR metallic. Default 0.
OptionalcastWhether the body casts a shadow. Default true.
Optionaldynamictrue (default) → dynamic, simulated. false → immovable static body.
Ignored when motion is set.
OptionalmotionMotion type. Defaults to dynamic (or static when dynamic: false).
kinematic bodies are moved by script (velocity/position) and push
dynamics but are not pushed back.
OptionallayerCollision layer(s) this body belongs to (bit flags, see CollisionLayer).
Default: World for static bodies, Prop for moving bodies.
OptionalmaskCollision layer(s) this body collides with. Default: All.
OptionalisWhen true the body is a sensor (trigger): it reports overlaps via a SensorCallbacks but generates no collision response.
OptionalrestitutionBounciness 0..1. Default 0.2.
OptionalfrictionSurface friction 0..1. Default Jolt default (~0.2).
OptionallinearInitial linear velocity (world units/sec).
OptionalgravityMultiplier on gravity (1 = normal, 0 = floats).
OptionalmotionContinuous collision detection mode. 'discrete' (default) is the cheap
per-step check; 'linear-cast' sweeps the body along its motion each step so
a fast body can't tunnel through thin colliders (e.g. one-sided terrain mesh).
Use it for small/fast dynamics over thin static geometry.
OptionalsensorSensor overlap callbacks. Implies isSensor when present.
Options accepted by the spawn helpers: physics tuning + visual styling.