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 5

HistoryMember
731Disabled: bool
731Occupant: Humanoid
573Sit(humanoid: Instance): null
inherited from Part
731Shape: PartType
inherited from FormFactorPart
731FormFactor: FormFactor
inherited from BasePart
731Anchored: bool
731AssemblyAngularVelocity: Vector3
731AssemblyCenterOfMass: Vector3
731AssemblyLinearVelocity: Vector3
731AssemblyMass: float
731AssemblyRootPart: BasePart
731AudioCanCollide: bool
731BackSurface: SurfaceType
731BottomSurface: SurfaceType
731BrickColor: BrickColor
731CFrame: CFrame
731CanCollide: bool
731CanQuery: bool
731CanTouch: bool
731CastShadow: bool
731CenterOfMass: Vector3
731CollisionGroup: string
731CollisionGroupId: int
731Color: Color3
731CurrentPhysicalProperties: PhysicalProperties
731CustomPhysicalProperties: PhysicalProperties
731EnableFluidForces: bool
731ExtentsCFrame: CFrame
731ExtentsSize: Vector3
731FrontSurface: SurfaceType
731LeftSurface: SurfaceType
731Locked: bool
731Mass: float
731Massless: bool
731Material: Material
731MaterialVariant: string
731PivotOffset: CFrame
731Reflectance: float
731ResizeIncrement: int
731ResizeableFaces: Faces
731RightSurface: SurfaceType
731RootPriority: int
731Rotation: Vector3
731Size: Vector3
731SpecificGravity: float
731TopSurface: SurfaceType
731Transparency: float
731brickColor: 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
731GetRootPart(): 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
731breakJoints(): null
731getMass(): float
573makeJoints(): null
731resize(normalId: NormalId, deltaAmount: int): bool
483LocalSimulationTouched(part: BasePart)
462OutfitChanged()
731StoppedTouching(otherPart: BasePart)
483TouchEnded(otherPart: BasePart)
483Touched(otherPart: BasePart)
inherited from PVInstance
731Origin: CFrame
731Pivot Offset: CFrame
576GetPivot(): CFrame
573PivotTo(targetCFrame: CFrame): null
inherited from Instance
731Archivable: bool
731Capabilities: SecurityCapabilities
731IsInSandbox: bool
731Name: string
731Parent: Instance
731PredictionMode: PredictionMode
731Sandboxed: bool
731UniqueId: 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
731children(): Instances
731clone(): Instance
731destroy(): null
731findFirstChild(name: string, recursive: bool = false): Instance
731getChildren(): Instances
731isDescendantOf(ancestor: Instance): bool
731remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
657StyledPropertiesChanged()
731childAdded(child: Instance)
inherited from Object
731ClassName: string
731className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
731isA(className: string): bool
647Changed(property: string)

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 28

Members 5

Disabled

TypeDefault
boolfalse

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

History 6

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 7

Tags: [ReadOnly, NotReplicated]

Sit

Parameters (1)
humanoidInstance
Returns (1)
null

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

History 3

Settings