Reference API Roblox

Engine API

Website

Related

Reference API Roblox

Seat

A type of BasePart that characters can 'sit' in. When a character touches an enabled Seat object, it will be attached to the part by a Weld and the default character scripts will play a sitting animation.

Member index 3

HistoryMember
726Disabled: bool
726Occupant: Humanoid
573Sit(humanoid: Instance): null
inherited from Part
726Shape: PartType
inherited from FormFactorPart
726FormFactor: FormFactor
inherited from BasePart
726Anchored: bool
726AssemblyAngularVelocity: Vector3
726AssemblyCenterOfMass: Vector3
726AssemblyLinearVelocity: Vector3
726AssemblyMass: float
726AssemblyRootPart: BasePart
726AudioCanCollide: bool
726BackSurface: SurfaceType
726BottomSurface: SurfaceType
726BrickColor: BrickColor
726CFrame: CFrame
726CanCollide: bool
726CanQuery: bool
726CanTouch: bool
726CastShadow: bool
726CenterOfMass: Vector3
726CollisionGroup: string
726CollisionGroupId: int
726Color: Color3
726CurrentPhysicalProperties: PhysicalProperties
726CustomPhysicalProperties: PhysicalProperties
726EnableFluidForces: bool
726ExtentsCFrame: CFrame
726ExtentsSize: Vector3
726FrontSurface: SurfaceType
726LeftSurface: SurfaceType
726Locked: bool
726Mass: float
726Massless: bool
726Material: Material
726MaterialVariant: string
726PivotOffset: CFrame
726Reflectance: float
726ResizeIncrement: int
726ResizeableFaces: Faces
726RightSurface: SurfaceType
726RootPriority: int
726Rotation: Vector3
726Size: Vector3
726SpecificGravity: float
726TopSurface: SurfaceType
726Transparency: float
726brickColor: BrickColor
603AngularAccelerationToTorque(angAcceleration: Vector3, angVelocity: Vector3 = 0, 0, 0): Vector3
573ApplyAngularImpulse(impulse: Vector3): null
573ApplyImpulse(impulse: Vector3): null
573ApplyImpulseAtPosition(impulse: Vector3, position: Vector3): null
573BreakJoints(): null
557CanCollideWith(part: BasePart): bool
462CanSetNetworkOwnership(): Tuple
576GetClosestPointOnSurface(position: Vector3): Vector3
648GetConnectedParts(recursive: bool = false): Instances
648GetJoints(): Instances
486GetMass(): float
567GetNetworkOwner(): Instance
567GetNetworkOwnershipAuto(): bool
648GetNoCollisionConstraints(): Instances
678GetPhysicsCost(): float
462GetRenderCFrame(): CFrame
726GetRootPart(): Instance
648GetTouchingParts(): Instances
557GetVelocityAtPosition(position: Vector3): Vector3
648IntersectAsync(parts: Instances, collisionfidelity: CollisionFidelity = Default, renderFidelity: RenderFidelity = Automatic): Instance
486IsGrounded(): bool
573MakeJoints(): null
462Resize(normalId: NormalId, deltaAmount: int): bool
573SetNetworkOwner(playerInstance: Player = Player): null
573SetNetworkOwnershipAuto(): null
648SubtractAsync(parts: Instances, collisionfidelity: CollisionFidelity = Default, renderFidelity: RenderFidelity = Automatic): Instance
603TorqueToAngularAcceleration(torque: Vector3, angVelocity: Vector3 = 0, 0, 0): Vector3
648UnionAsync(parts: Instances, collisionfidelity: CollisionFidelity = Default, renderFidelity: RenderFidelity = Automatic): Instance
726breakJoints(): null
726getMass(): float
573makeJoints(): null
726resize(normalId: NormalId, deltaAmount: int): bool
483LocalSimulationTouched(part: BasePart)
462OutfitChanged()
726StoppedTouching(otherPart: BasePart)
483TouchEnded(otherPart: BasePart)
483Touched(otherPart: BasePart)
inherited from PVInstance
726Origin: CFrame
726Pivot Offset: CFrame
576GetPivot(): CFrame
573PivotTo(targetCFrame: CFrame): null
inherited from Instance
726Archivable: bool
726Capabilities: SecurityCapabilities
726IsInSandbox: bool
726Name: string
726Parent: Instance
726PredictionMode: PredictionMode
726Sandboxed: bool
726UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
707GetDescendants(): Instances
486GetFullName(): string
706GetStyled(name: string, selector: string?): Variant
657GetStyledPropertyChangedSignal(property: string): RBXScriptSignal
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
664IsPropertyModified(property: string): bool
698QueryDescendants(selector: string): Instances
573Remove(): null
576RemoveTag(tag: string): null
664ResetPropertyToDefault(property: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
726children(): Instances
726clone(): Instance
726destroy(): null
726findFirstChild(name: string, recursive: bool = false): Instance
726getChildren(): Instances
726isDescendantOf(ancestor: Instance): bool
726remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
657StyledPropertiesChanged()
726childAdded(child: Instance)
inherited from Object
726ClassName: string
726className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
726isA(className: string): bool
647Changed(property: string)

Removed member index 2

HistoryMember

Description

A type of BasePart that a player character can 'sit' in. When a character touches an enabled Seat object, it will be attached to the part by a Weld and the default character scripts will play a sitting animation.

How do Seats work?

When a model containing a Humanoid and a BasePart called 'HumanoidRootPart' (generally a player character) touches a seat, a Weld is created between the seat and the part. The C0 and C1 properties are configured so that the character is welded 2 studs above the seat. This weld is named 'SeatWeld' and parented to the seat.

When sitting the Seat.Occupant property is set to the Humanoid that is 'sitting' in the seat. Furthermore the Humanoid.SeatPart property of the humanoid is set to the seat.

A character can also be forced to sit in a seat using the Seat:Sit() function.

There are two ways for a character to get out of a seat. When a player jumps, they are removed from the seat. However this can also be done manually by destroying the seat weld, for example:

seat:FindFirstChild("SeatWeld"):Destroy()

Note seats have a cooldown (currently 3 seconds) that is on a per-character per-seat basis. This means once a character has gotten out of a seat they cannot sit back on the same seat for 3 seconds. This cooldown behavior may change and should not be relied upon by developers.

What can Seats be used for?

Seats have a diverse range of uses, ranging from the obvious to the more unconventional.

  • Creating chairs or benches without the need for any programming
  • Allowing characters to 'sit' in moving objects such as vehicles without getting flung around
  • Creating interfaces that are controlled by the character in the seat using the Seat.Occupant property

History 24

Members 3

Disabled

TypeDefault
bool

Whether or not the seat is usable. If set to true, the seat will act as a normal part.

History 5

Occupant

TypeDefault
Humanoid

The humanoid that is sitting in the seat

This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 6

Tags: [ReadOnly, NotReplicated]

Sit

Parameters (1)
humanoidInstance
Returns (1)
null

Forces the character with the specified Humanoid to sit in the Seat.

History 3

Removed members 2

Settings