This commit is contained in:
Joe 2026-02-02 12:08:47 -06:00
parent a9b4f8e83b
commit e6efc04756
8494 changed files with 495610 additions and 0 deletions

View file

@ -0,0 +1,6 @@
# Engine reference
The Roblox Engine reference at [https://create.roblox.com/docs/reference/engine](https://create.roblox.com/docs/reference/engine) is built from a set of internal files.
- We provide the generated YAML files in these directories so that you can view the source or use them in your own projects.
- Because these YAML files are generated, we don't accept pull requests on them.

View file

@ -0,0 +1,2 @@
0.705.0.7050923
version-53373454f7df4478

View file

@ -0,0 +1,4 @@
---
title: Roblox Engine classes
description: Classes represent core objects and services in the Roblox Engine. They contain properties, methods, events, and callbacks.
---

View file

@ -0,0 +1,60 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: Accessory
type: class
memory_category: Instances
summary: |
An item that a Character can wear.
description: |
The Accessory Instance is the parent Instance of all accessories (regardless
of their specific accessory type). It typically has a child Handle with a
child Attachment and a WrapLayer in the case of Layered Clothing.
The Accessory class is the successor to the legacy Hat system. It's
cross-compatible with both the legacy R6 character system and the new R15
character system.
If you insert an `Class.Attachment` into the Accessory's Handle with the same
name as an `Class.Attachment` in one of the character's limbs, they connect
and ignore properties inherited from the `Class.Accoutrement` class.
Otherwise, the Accessory functions identically to a `Class.Hat`.
Note: If there are two matching `Attachments`, the resulting `Class.Weld` is a
child of the Accessory's Handle. This differs from the legacy behavior of Hats
where the Weld is always a child of the Head of the character.
code_samples: []
inherits:
- Accoutrement
descendants: []
tags: []
deprecation_message: ''
properties:
- name: Accessory.AccessoryType
summary: |
Specifies the AccessoryType of the Accessory (eg. Hat, Tshirt, Waist).
description: |
Specifies the AccessoryType of the Accessory. Is
`Enum.AccessoryType|AccessoryType.Unknown` unless you equip the Accessory
through the player spawning process or
`Class.Humanoid:ApplyDescriptionAsync()`. If available on the Marketplace,
you can set `Enum.AccessoryType` to categorize the Accessory item (for
example, "Hat" or "Face").
code_samples: []
type: AccessoryType
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,232 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AccessoryDescription
type: class
memory_category: Instances
summary: |
Describes the appearance of an `Class.Accessory` for the
`Class.HumanoidDescription`.
description: |
**AccessoryDescription** is an object that stores the description for an
`Class.Accessory`. It is meant to be placed underneath a
`Class.HumanoidDescription` in order to work with
`Class.Humanoid:ApplyDescriptionAsync()`.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AccessoryDescription.AccessoryType
summary: |
The `Enum.AccessoryType` of the `Class.Accessory` referred to by this
description.
description: |
The `Enum.AccessoryType` of the `Class.Accessory` referred to by this
description.
code_samples: []
type: AccessoryType
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: AccessoryDescription.AssetId
summary: |
The asset ID that should be applied when applying this
`Class.AccessoryDescription`.
description: |
The asset ID that should be applied when applying this
`Class.AccessoryDescription`.
code_samples: []
type: int64
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: AccessoryDescription.Instance
summary: |
A reference to the `Class.Instance` that should be applied when applying
this `Class.AccessoryDescription`.
description: |
A reference to the `Class.Instance` that should be applied when applying
this `Class.AccessoryDescription`. This property can be used instead of
`Class.AccessoryDescription.AssetId|AssetId` to apply accessories without
uploading them to the platform.
code_samples: []
type: Instance
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: AccessoryDescription.IsLayered
summary: |
Whether the `Class.Accessory` is layered or rigid.
description: |
Whether the `Class.Accessory` is layered or rigid. This is intended to be
read-only. It will be corrected after calling
`Class.Humanoid:ApplyDescriptionAsync()` if this property doesn't match
the actual `Class.Accessory` contents.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: AccessoryDescription.Order
summary: |
The layered clothing sort order, if the `Class.Accessory` is layered.
description: |
The `Class.WrapLayer.Order` value when applying the `Class.Accessory`, if
it is layered.
code_samples: []
type: int
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: AccessoryDescription.Position
summary: |
The accessory adjustment position offset, if the `Class.Accessory` is
rigid.
description: |
The accessory adjustment position offset. Only applies if the
`Class.Accessory` is rigid.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: AccessoryDescription.Puffiness
summary: |
The layered clothing puffiness, if the `Class.Accessory` is layered.
description: |
The `Class.WrapLayer.Puffiness` value when applying the `Class.Accessory`,
if it is layered.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: AccessoryDescription.Rotation
summary: |
The accessory adjustment rotation offset, if the `Class.Accessory` is
rigid.
description: |
The accessory adjustment rotation offset. Only applies if the
`Class.Accessory` is rigid.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: AccessoryDescription.Scale
summary: |
The accessory adjustment scale, if the `Class.Accessory` is rigid.
description: |
The accessory adjustment scale. Only applies if the `Class.Accessory` is
rigid.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
methods:
- name: AccessoryDescription:GetAppliedInstance
summary: |
Returns the applied `Class.Accessory`.
description: |
Returns the applied `Class.Accessory` if this `Class.AccessoryDescription`
is the child of an applied `Class.HumanoidDescription` parented to a
`Class.Humanoid`.
code_samples: []
parameters: []
returns:
- type: Instance
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Avatar
events: []
callbacks: []

View file

@ -0,0 +1,142 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: Accoutrement
type: class
memory_category: Instances
summary: |
An object that can attach to a player's character.
description: |
An Accoutrement welds its child `Class.Part|part` called "Handle" to the
player's character. You can change the position and rotation of the Handle
part using the `Class.Accoutrement.AttachmentPos|AttachmentPos`,
`Class.Accoutrement.AttachmentRight|Right`,
`Class.Accoutrement.AttachmentForward|Forward`, and
`Class.Accoutrement.AttachmentUp|Up` properties.
Parts descending from an accoutrement are massless when attach to other parts
(e.g. with a Weld) as long as they are not the root part of the assembly that
`Class.BasePart:GetRootPart()|GetRootPart()` returns.
`Class.BasePart:GetMass()|GetMass()` returns 0 for parts in this case, and it
doesn't add to the total mass or rotational inertia of the Assembly.
This doesn't apply to a part descending from an accoutrement when an
accoutrement welds to another part that is massless or one if its parts
otherwise becomes root. This also doesn't apply for the root part, and it has
mass like a normal part.
code_samples: []
inherits:
- Instance
descendants:
- Accessory
- Hat
tags: []
deprecation_message: ''
properties:
- name: Accoutrement.AttachmentForward
summary: |
Sets the offset position of the object on the Player.
description: |
Sets the offset position of the object on the Player.
code_samples: []
type: Vector3
tags:
- Hidden
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Transform
serialization:
can_load: false
can_save: false
capabilities:
- Avatar
- name: Accoutrement.AttachmentPoint
summary: |
The exact CFrame of the Accoutrement.
description: |
The exact CFrame of the Accoutrement.
code_samples: []
type: CFrame
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Transform
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: Accoutrement.AttachmentPos
summary: |
Sets the position of the object on the Player.
description: |
Sets the position of the object on the Player.
code_samples: []
type: Vector3
tags:
- Hidden
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Transform
serialization:
can_load: false
can_save: false
capabilities:
- Avatar
- name: Accoutrement.AttachmentRight
summary: |
Sets the offset position of the object on the Player.
description: |
Sets the offset position of the object on the Player.
code_samples: []
type: Vector3
tags:
- Hidden
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Transform
serialization:
can_load: false
can_save: false
capabilities:
- Avatar
- name: Accoutrement.AttachmentUp
summary: |
Sets the offset position of the object on the Player.
description: |
Sets the offset position of the object on the Player.
code_samples: []
type: Vector3
tags:
- Hidden
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Transform
serialization:
can_load: false
can_save: false
capabilities:
- Avatar
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,158 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: Actor
type: class
memory_category: BaseParts
summary: |
An `Class.Actor` is a container for code that can be safely split into its own
thread.
description: |
An `Class.Actor` is a container for code that can be safely split into its own
thread using `Library.task.desynchronize()`. It should also contain the
instances used by its scripts.
To learn more about using multiple Actors to optimize script performance, see
[Parallel Luau](../../../scripting/multithreading.md).
code_samples: []
inherits:
- Model
descendants: []
tags: []
deprecation_message: ''
properties: []
methods:
- name: Actor:BindToMessage
summary: |
Binds a Luau callback to a message with the specified topic.
description: |
This method is used to bind a Luau callback to a message with the
specified topic. When a message is sent (using
`Class.Actor:SendMessage()|SendMessage()`) to the topic specified the
provided callback will be called in a _serial_ execution context.
Multiple Luau callbacks may be bound to a single actor and even to a
single message topic.
Note: Only the scripts which are descendants of an Actor may bind to its
messages.
```lua
local actor = script:GetActor()
-- Print out a message when a greeting message is sent to the Actor
-- this script is a descendant of.
local connection = actor:BindToMessage("Greeting", function(message)
print("Received Greeting Message:", message)
end)
```
code_samples: []
parameters:
- name: topic
type: string
default:
summary: |
The topic used to identify the type of message.
- name: function
type: Function
default:
summary: ''
returns:
- type: RBXScriptConnection
summary: |
This connection object may be used to disconnect the Luau callback
from receiving messages.
tags: []
deprecation_message: ''
security: None
thread_safety: Safe
capabilities:
- Basic
- name: Actor:BindToMessageParallel
summary: |
Binds a Luau callback to a message with the specified topic.
description: |
This method is used to bind a Luau callback to a message with the
specified topic. When a message is sent (using
`Class.Actor:SendMessage()|SendMessage()`) to the topic specified the
provided callback will be called in a _parallel_ execution context.
Multiple Luau callbacks may be bound to a single actor and even to a
single message topic.
Note: Only the scripts which are descendants of an Actor may bind to its
messages.
```lua
local actor = script:GetActor()
-- Print out a message when a greeting message is sent to the Actor
-- this script is a descendant of.
local connection = actor:BindToMessageParallel("Greeting", function(message)
print("Received Greeting Message:", message)
end)
```
code_samples: []
parameters:
- name: topic
type: string
default:
summary: |
The topic used to identify the type of message.
- name: function
type: Function
default:
summary: ''
returns:
- type: RBXScriptConnection
summary: |
This connection object may be used to disconnect the Luau callback
from receiving messages.
tags: []
deprecation_message: ''
security: None
thread_safety: Safe
capabilities:
- Basic
- name: Actor:SendMessage
summary: |
Sends a message to an Actor.
description: |
Sends a message to an Actor. Messages are sent asynchronously, so the
sender will not block or yield when calling the
`Class.Actor:SendMessage()|SendMessage()` method.
Since a single Actor may receive different kinds of messages, a `topic`
parameter is used to distinguish between various kinds of messages.
See `Class.Actor:BindToMessage()|BindToMessage()` for details on receiving
a message sent using `Class.Actor:SendMessage()|SendMessage()`.
```lua
-- Assume `actor` is a local variable referring to an Actor instance
actor:SendMessage("Greeting", "Hello World")
```
code_samples: []
parameters:
- name: topic
type: string
default:
summary: |
The topic used to identify the message being sent.
- name: message
type: Tuple
default:
summary: |
The contents of the message to send to the Actor.
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Safe
capabilities:
- Basic
events: []
callbacks: []

View file

@ -0,0 +1,118 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AdGui
type: class
memory_category: Internal
summary: ''
description: ''
code_samples: []
inherits:
- SurfaceGuiBase
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AdGui.AdShape
summary: ''
description: ''
code_samples: []
type: AdShape
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: AdGui.EnableVideoAds
summary: |
Enables the AdGui to serve video ads.
description: |
The property enables the AdGui to serve video ads.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: AdGui.FallbackImage
summary: ''
description: ''
code_samples: []
type: ContentId
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: AdGui.Status
summary: ''
description: ''
code_samples: []
type: AdUnitStatus
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: false
can_save: false
capabilities:
- UI
methods: []
events: []
callbacks:
- name: AdGui.OnAdEvent
summary: |
Used to react to the AdGui events.
description: |
The callback function used to react to the AdGui events.
code_samples: []
parameters:
- name: eventInfo
type: Dictionary
default:
summary: |
Options table for the method:
- `PlayerId` – The user ID of the player related to the ad event.
- `AdEventType` – A `Enum.AdEventType` enum value describing the AdGui
events.
returns:
- type: boolean
summary: |
Whether the callback has successfully reacted to the event.
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- UI
writeCapabilities: []

View file

@ -0,0 +1,58 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AdPortal
type: class
memory_category: Instances
summary: ''
description: ''
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AdPortal.PortalInvalidReason
summary: ''
description: ''
code_samples: []
type: string
tags:
- ReadOnly
- NotReplicated
- NotScriptable
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: false
can_save: false
capabilities:
- Monetization
- name: AdPortal.Status
summary: ''
description: ''
code_samples: []
type: AdUnitStatus
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: false
can_save: false
capabilities:
- Monetization
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,184 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AdService
type: class
memory_category: Instances
summary: |
A class that allows the display of mobile video ads.
description: |
A service for displaying mobile video ads as a form of monetization. Use it to
implement rewarded video ads in your experience.
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotCreatable
- Service
deprecation_message: ''
properties: []
methods:
- name: AdService:CreateAdRewardFromDevProductId
summary: |
Creates a reward to give users who watch an entire video ad.
description: |
Creates a reward to give users who watch an entire video ad.
code_samples: []
parameters:
- name: devProductId
type: int64
default:
summary: |
The ID of the developer product you want to grant as a reward.
returns:
- type: AdReward
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AdService:GetAdAvailabilityNowAsync
summary: |
Checks if a video ad is available to be played to the current user inside
the experience.
description: |
Checks if a video ad is available to be played to the current user inside
the experience.
code_samples:
- AdService-GetAdAvailabilityNowAsync
parameters:
- name: adFormat
type: AdFormat
default:
summary: |
The format of the requested ad. For example, `RewardedVideo`.
returns:
- type: Variant
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AdService:RegisterAdOpportunityAsync
summary: |
Tracks how many times a user had the chance to watch a video ad and the
rate at which they actually watched the ad.
description: ''
code_samples:
- AdService-RegisterAdOpportunityAsync
parameters:
- name: instance
type: Instance
default:
summary: ''
- name: placementId
type: int64?
default:
summary: |
The ID of the placement of the rewarded video ad inside the
experience. Allows for reporting on the performance of individual ad
placements.
returns:
- type: ()
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AdService:ShowRewardedVideoAdAsync
summary: |
Plays the video ad to the current user inside the experience.
description: |
Plays the video ad to the current user inside the experience.
code_samples:
- AdService-ShowRewardedVideoAdAsync
parameters:
- name: player
type: Player
default:
summary: |
The `Player` object for whom you are fetching the ad for.
- name: reward
type: AdReward
default:
summary: |
The reward object for the reward you want to grant the user who
watches an ad to completion.
- name: placementId
type: int64?
default:
summary: |
The ID of the placement of the rewarded video ad inside the
experience. Allows for reporting on the performance of individual ad
placements.
returns:
- type: ShowAdResult
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AdService:ShowVideoAd
summary: |
Show mobile video advertisements.
description: |
Show mobile video advertisements.
code_samples: []
parameters: []
returns:
- type: ()
summary: ''
tags:
- Deprecated
deprecation_message: |
`Class.AdService.ShowVideoAd|ShowVideoAd` has been decommissioned and is
no longer operational.
security: None
thread_safety: Unsafe
capabilities: []
- name: AdService:UnregisterAdOpportunity
summary: ''
description: ''
code_samples: []
parameters:
- name: instance
type: Instance
default:
summary: ''
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
events:
- name: AdService.VideoAdClosed
summary: |
Fires when an `Class.AdService` video closes.
description: |
Fires when an `Class.AdService` video closes.
code_samples: []
parameters:
- name: adShown
type: boolean
default:
summary: ''
tags:
- Deprecated
deprecation_message: |
`Class.AdService.VideoAdClosed|VideoAdClosed` has been decommissioned and
is no longer operational.
security: None
capabilities: []
callbacks: []

View file

@ -0,0 +1,22 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AdvancedDragger
type: class
memory_category: Instances
summary: |
An unfinished advanced variant of the `Class.Dragger` class.
description: |
An unfinished advanced variant of the `Class.Dragger` class. Internally, this
object is an identical implementation of the Dragger class.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,204 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AirController
type: class
memory_category: Instances
summary: ''
description: ''
code_samples: []
inherits:
- ControllerBase
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AirController.BalanceMaxTorque
summary: |
The maximum torque the character can use to remain balanced upright.
description: |
The maximum torque the character can use to remain balanced upright. When
misaligned, this amount of torque is applied to reach the
`Class.AirController.BalanceSpeed|BalanceSpeed` and realign the character.
A higher torque means more force is required to cause the character to
tilt. A lower torque means it's easer for the character to flip in the
air. This property is hidden and has no effect when
`Class.ControllerBase.BalanceRigidityEnabled` is true.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Balance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: AirController.BalanceSpeed
summary: |
The maximum angular speed used to align the character upright.
description: |
The maximum angular speed used to align the character upright. A lower
value means it takes longer for the character to recover to the upright
position when misaligned. A higher value results in a quicker recovery.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Balance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: AirController.LinearImpulse
summary: ''
description: ''
code_samples: []
type: Vector3
tags:
- Hidden
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Movement
serialization:
can_load: false
can_save: false
capabilities:
- Basic
- name: AirController.MaintainAngularMomentum
summary: |
Determines whether angular momentum is preserved when input has stopped.
description: |
Determines whether angular momentum is preserved when input has stopped.
If false, the character will apply
`Class.AirController.TurningMaxTorque|TurningMaxTorque` to bring the
angular velocity toward 0 when there is no input.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Turn
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: AirController.MaintainLinearMomentum
summary: |
Determines whether linear momentum is preserved when input has stopped.
description: |
Determines whether linear momentum is preserved when input has stopped. If
false, the character will apply
`Class.AirController.MoveMaxForce|MoveMaxForce` to bring the linear
velocity towards 0 when there is no input.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Movement
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: AirController.MoveMaxForce
summary: |
The maximum force that can be applied on the
`Class.ControllerManager.RootPart` for moving in the
`Class.ControllerManager.MovingDirection`.
description: |
The maximum force that can be applied on the
`Class.ControllerManager.RootPart` for moving in the
`Class.ControllerManager.MovingDirection`. This affects how quickly
different target linear velocities are reached and how quick the linear
acceleration is if
`Class.AirController.MaintainLinearMomentum|MaintainLinearMomentum` is
off.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Movement
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: AirController.TurnMaxTorque
summary: |
The maximum torque that can be applied on the
`Class.ControllerManager.RootPart` for turning towards the
`Class.ControllerManager.FacingDirection`.
description: |
The maximum torque that can be applied on the
`Class.ControllerManager.RootPart` for turning towards the
`Class.ControllerManager.FacingDirection`. This effects how quickly
different target angular velocities are reached and how quick angular
deceleration is if
`Class.AirController.MaintainAngularMomentum|MaintainAngularMomentum` is
off.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Turn
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: AirController.TurnSpeedFactor
summary: |
The value multiplied by the `Class.ControllerManager.BaseTurnSpeed`.
description: |
The value multiplied by the `Class.ControllerManager.BaseTurnSpeed` to
determine the final target angular velocity while this controller is
active. The angular velocity is applied when turning towards the
`Class.ControllerManager.FacingDirection`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Turn
serialization:
can_load: true
can_save: true
capabilities:
- Basic
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,378 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AlignOrientation
type: class
memory_category: BaseParts
summary: |
Constraint which applies torque to align two attachments, or to align one
attachment with a goal orientation.
description: |
The `AlignOrientation` constraint applies torque to align two attachments, or
to align one attachment with a goal orientation. As indicated by the name, it
only affects the **orientation** of the attachments, not their position (to
align attachments **positionally**, see `Class.AlignPosition`).
Torque created by `AlignOrientation` is applied about the center of mass of
the parent of the attachments, or the center of mass of parts rigidly
connected to the parents.
When configuring this constraint, it may be helpful to study
[Roblox Units](../../../physics/units.md) to understand how Roblox units
compare to metric units.
#### Affected Axes
The axes affected by torque are controlled through the constraint's
`Class.AlignOrientation.AlignType|AlignType` property. When set to
`Enum.AlignType|PrimaryAxisParallel`,
`Enum.AlignType|PrimaryAxisPerpendicular` or
`Enum.AlignType|PrimaryAxisLookAt`, torque will only occur when the primary
axes become misaligned. Otherwise, the constraint will apply torque about all
3 axes to achieve alignment.
#### Reactionary Torque
By default, the constraint only applies torque to
`Class.Constraint.Attachment0|Attachment0` while
`Class.Constraint.Attachment1|Attachment1` remains unaffected. If desired,
torque can be applied to both attachments in **equal and opposite directions**
by enabling
`Class.AlignOrientation.ReactionTorqueEnabled|ReactionTorqueEnabled`.
#### Torque Magnitude
You can configure this constraint to apply the maximum torque that constraints
allow through the `Class.AlignOrientation.RigidityEnabled|RigidityEnabled`
property. When `true`, the physics solver reacts as quickly as possible to
complete the alignment. When `false`, the torque is determined by
`Class.AlignOrientation.MaxTorque|MaxTorque`,
`Class.AlignOrientation.MaxAngularVelocity|MaxAngularVelocity`, and
`Class.AlignOrientation.Responsiveness|Responsiveness`.
#### Attachment Mode
This constraint can use either **one** or **two** attachments in calculating
its goal. See `Class.AlignOrientation.Mode|Mode` for details.
code_samples: []
inherits:
- Constraint
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AlignOrientation.AlignType
summary: |
The constraint's axis alignment type.
description: |
Specifies the desired relationship between the primary axes of
`Class.Constraint.Attachment0|Attachment0` and the goal. Available options
are `Enum.AlignType|AllAxes`, `Enum.AlignType|PrimaryAxisParallel`,
`Enum.AlignType|PrimaryAxisPerpendicular`, and
`Enum.AlignType|PrimaryAxisLookAt`. The constraint will attempt to
maintain the specified relationship, as given by the `Enum.AlignType`, by
applying torques onto the relevant axes.
code_samples: []
type: AlignType
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: AlignOrientation
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignOrientation.CFrame
summary: |
The `Datatype.CFrame` orientation with which the constraint will attempt
to match the orientation of `Class.Constraint.Attachment0|Attachment0`.
description: |
The `Datatype.CFrame` orientation (translation component ignored) with
which the constraint will attempt to match the orientation of
`Class.Constraint.Attachment0|Attachment0`. Only used when
`Class.AlignOrientation.Mode|Mode` is set to
`Enum.OrientationAlignmentMode|OneAttachment`.
code_samples: []
type: CFrame
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: TargetOrientation
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignOrientation.LookAtPosition
summary: |
A `Datatype.Vector3` world space location toward which the primary axis
will attempt to align.
description: |
A `Datatype.Vector3` world space location toward which the primary axis
will attempt to align. This is only active when
`Class.AlignOrientation.AlignType|AlignType` is set to
`Enum.AlignType|PrimaryAxisLookAt` and `Class.AlignOrientation.Mode|Mode`
is set to `Enum.OrientationAlignmentMode|OneAttachment`.
code_samples: []
type: Vector3
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: TargetOrientation
serialization:
can_load: false
can_save: false
capabilities:
- Physics
- name: AlignOrientation.MaxAngularVelocity
summary: |
Maximum angular velocity the constraint can use to reach its goal.
description: |
Maximum angular velocity the constraint can use to reach its goal. Only
used if `Class.AlignOrientation.RigidityEnabled|RigidityEnabled` is
`false`.
Note that `Class.AlignOrientation.MaxAngularVelocity|MaxAngularVelocity`,
as well as `Class.AlignOrientation.MaxTorque|MaxTorque`, are **caps** to
the angular velocity and torque respectively. The actual scale is
determined by `Class.AlignOrientation.Responsiveness|Responsiveness`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Compliance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignOrientation.MaxTorque
summary: |
Maximum torque the constraint can use to reach its goal.
description: |
Maximum torque the constraint can use to reach its goal. Only used if
`Class.AlignOrientation.RigidityEnabled|RigidityEnabled` is `false`.
Note that `Class.AlignOrientation.MaxTorque|MaxTorque`, as well as
`Class.AlignOrientation.MaxAngularVelocity|MaxAngularVelocity`, are
**caps** to the torque and angular velocity respectively. The actual scale
is determined by `Class.AlignOrientation.Responsiveness|Responsiveness`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Compliance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignOrientation.Mode
summary: |
Whether the constraint uses one or two attachments in calculating its
goal.
description: |
Whether the constraint uses **one** or **two** attachments in calculating
its goal. By default, this is
`Enum.OrientationAlignmentMode|TwoAttachment`, meaning that the constraint
attempts to match the orientation of
`Class.Constraint.Attachment0|Attachment0` with the orientation of
`Class.Constraint.Attachment1|Attachment1`, disregarding
`Class.AlignOrientation.CFrame|CFrame`,
`Class.AlignOrientation.PrimaryAxis|PrimaryAxis`, and
`Class.AlignOrientation.SecondaryAxis|SecondaryAxis`.
If set to `Enum.OrientationAlignmentMode|OneAttachment`, the constraint
disregards `Class.Constraint.Attachment1|Attachment1` and attempts to
match the orientation of `Class.Constraint.Attachment0|Attachment0` with
the orientation of `Class.AlignOrientation.CFrame|CFrame`, or match the
attachment's `Class.Attachment.Axis|Axis` and
`Class.Attachment.SecondaryAxis|SecondaryAxis` with the constraint's
`Class.AlignOrientation.PrimaryAxis|PrimaryAxis` and
`Class.AlignOrientation.SecondaryAxis|SecondaryAxis` properties
respectively.
code_samples: []
type: OrientationAlignmentMode
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: AlignmentMode
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignOrientation.PrimaryAxis
summary: |
The direction of the goal's **X** axis, represented as a unit
`Datatype.Vector3`.
description: |
The direction of the goal's **X** axis, represented as a unit
`Datatype.Vector3`. Only used when `Class.AlignOrientation.Mode|Mode` is
`Enum.OrientationAlignmentMode|OneAttachment`.
code_samples: []
type: Vector3
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: TargetOrientation
serialization:
can_load: false
can_save: false
capabilities:
- Physics
- name: AlignOrientation.PrimaryAxisOnly
summary: |
Determines how the constraint's axes are affected by torque.
description: |
Determines how the constraint's axes are affected by torque. If `false`
(default), the constraint will apply torque about all 3 axes to
achieve alignment. If `true`, torque will only occur when the primary axes
become misaligned.
Enabling `Class.AlignOrientation.PrimaryAxisOnly|PrimaryAxisOnly` also
enables the `Class.AlignOrientation.AlignType|AlignType` property.
code_samples: []
type: boolean
tags: []
deprecation_message: |
This property is deprecated. Depending on your usage case, set
`Class.AlignOrientation.AlignType|AlignType` directly to
`Enum.AlignType|PrimaryAxisParallel`,
`Enum.AlignType|PrimaryAxisPerpendicular` or
`Enum.AlignType|PrimaryAxisLookAt` instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: AlignOrientation
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignOrientation.ReactionTorqueEnabled
summary: |
Whether the constraint applies torque only to
`Class.Constraint.Attachment0|Attachment0`, or to both attachments in
equal and opposite directions.
description: |
If `false` (default), the constraint only applies torque to
`Class.Constraint.Attachment0|Attachment0` while
`Class.Constraint.Attachment1|Attachment1` remains unaffected. If `true`,
the constraint applies torque to both attachments in **equal and opposite
directions**.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: AlignOrientation
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignOrientation.Responsiveness
summary: |
Controls how quickly the constraint reaches its goal. Higher values cause
the attachment(s) to align more rapidly.
description: |
Controls how quickly the constraint reaches its goal. Higher values cause
the attachment(s) to align more rapidly. Value can be between 5 and 200.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Compliance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignOrientation.RigidityEnabled
summary: |
Whether torque is dependent on other properties, or if the physics solver
reacts as quickly as possible to complete the alignment.
description: |
Whether torque is dependent on other properties, or if the physics solver
reacts as quickly as possible to complete the alignment. If `false`
(default), the torque is determined by
`Class.AlignOrientation.MaxTorque|MaxTorque`,
`Class.AlignOrientation.MaxAngularVelocity|MaxAngularVelocity`, and
`Class.AlignOrientation.Responsiveness|Responsiveness`. If `true`, the
physics solver reacts as quickly as possible to complete the alignment.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: AlignOrientation
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignOrientation.SecondaryAxis
summary: |
The direction of the goal's **Y** axis, represented as a unit
`Datatype.Vector3`.
description: |
The direction of the goal's **Y** axis, represented as a unit
`Datatype.Vector3`. Only used when `Class.AlignOrientation.Mode|Mode` is
`Enum.OrientationAlignmentMode|OneAttachment`.
code_samples: []
type: Vector3
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: TargetOrientation
serialization:
can_load: false
can_save: false
capabilities:
- Physics
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,350 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AlignPosition
type: class
memory_category: BaseParts
summary: |
Constraint which applies force to move two attachments together, or to move
one attachment to a goal position.
description: |
The `AlignPosition` constraint applies force to move two attachments together,
or to move one attachment to a goal position. As indicated by the name, it
only affects the **position** of the attachments, not their orientation (to
align attachments by **orientation**, see `Class.AlignOrientation`).
When configuring this constraint, it may be helpful to study
[Roblox Units](../../../physics/units.md) to understand how Roblox units
compare to metric units.
#### Force Location
By default, force is applied to the parent of
`Class.Constraint.Attachment0|Attachment0` at that attachment's location,
meaning that if the parent's center of mass is not aligned with the direction
of the force, torque will be applied as well as force. Alternatively, force
can be applied to the parents' center of mass by toggling on
`Class.AlignPosition.ApplyAtCenterOfMass|ApplyAtCenterOfMass`.
#### Reactionary Force
By default, the constraint only applies force to
`Class.Constraint.Attachment0|Attachment0` while
`Class.Constraint.Attachment1|Attachment1` remains unaffected. If desired,
force can be applied to both attachments in **equal and opposite directions**
by enabling `Class.AlignPosition.ReactionForceEnabled|ReactionForceEnabled`.
#### Force Limits
You can configure this constraint to apply the maximum force that constraints
allow through the `Class.AlignPosition.RigidityEnabled|RigidityEnabled`
property. When `true`, the physics solver reacts as quickly as possible to
complete the alignment. When `false`, the force applied by the constraint is
limited based on `Class.AlignPosition.ForceLimitMode|ForceLimitMode`,
`Class.AlignPosition.MaxVelocity|MaxVelocity`, and
`Class.AlignPosition.Responsiveness|Responsiveness`. See
`Class.AlignPosition.ForceLimitMode|ForceLimitMode` for further details.
#### Attachment Mode
This constraint can use either **one** or **two** attachments in calculating
its goal. See `Class.AlignPosition.Mode|Mode` for details.
code_samples: []
inherits:
- Constraint
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AlignPosition.ApplyAtCenterOfMass
summary: |
Whether force is applied to the parent of
`Class.Constraint.Attachment0|Attachment0` at that attachment's location,
or at the parents' center of mass.
description: |
When `false` (default), force is applied to the parent of
`Class.Constraint.Attachment0|Attachment0` at that attachment's location,
meaning that if the parent's center of mass is not aligned with the
direction of the force, torque will be applied as well as force. When
`true`, force is applied at the parents' center of mass.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: AlignPosition
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignPosition.ForceLimitMode
summary: |
Determines how the constraint force will be limited. Only used if
`Class.AlignPosition.RigidityEnabled|RigidityEnabled` is `false`.
description: |
Determines how the constraint force will be limited when
`Class.AlignPosition.RigidityEnabled|RigidityEnabled` is `false`. When set
to `Enum.ForceLimitMode|Magnitude`, the constraint force will be limited
such that the magnitude is less than
`Class.AlignPosition.MaxForce|MaxForce`. When set to
`Enum.ForceLimitMode|PerAxis`, the constraint force along each axis will
be limited by `Class.AlignPosition.MaxAxesForce|MaxAxesForce`. The axes
along which the force will be limited are based on the
`Class.AlignPosition.ForceRelativeTo|ForceRelativeTo` property.
code_samples: []
type: ForceLimitMode
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Compliance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignPosition.ForceRelativeTo
summary: |
Determines the axes that the constraint uses to limit the force. Only
applies when `Class.AlignPosition.RigidityEnabled|RigidityEnabled` is
`false` and `Class.AlignPosition.ForceLimitMode` is
`Enum.ForceLimitMode|PerAxis`. .
description: |
Determines the axes that the constraint uses to limit the force. Only
applies when `Class.AlignPosition.RigidityEnabled|RigidityEnabled` is
`false` and `Class.AlignPosition.ForceLimitMode` is
`Enum.ForceLimitMode|PerAxis`. When set to
`Enum.ActuatorRelativeTo|World`, the constraint force is computed in the
world reference frame and the force limits specified in
`Class.AlignPosition.MaxAxesForce|MaxAxesForce` refer to the axes of the
world coordinate system. When set to `Enum.ActuatorRelativeTo|Attachment0`
or `Enum.ActuatorRelativeTo|Attachment1`, the force limits specified in
`Class.AlignPosition.MaxAxesForce|MaxAxesForce` refer to the axes of the
specified attachment coordinate system.
code_samples: []
type: ActuatorRelativeTo
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Compliance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignPosition.MaxAxesForce
summary: |
Maximum force along each axis that the constraint can apply to achieve its
goal.
description: |
Maximum force along each axis that the constraint can apply to achieve its
goal. Only used if `Class.AlignPosition.RigidityEnabled|RigidityEnabled`
is `false` and `Class.AlignPosition.ForceLimitMode|ForceLimitMode` is
`Enum.ForceLimitMode|PerAxis`. The axes used to apply to the limit are
specified using the `Class.AlignPosition.ForceRelativeTo|ForceRelativeTo`
property.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Compliance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignPosition.MaxForce
summary: |
Maximum force magnitude the constraint can apply to achieve its goal.
description: |
Maximum force magnitude the constraint can apply to achieve its goal. Only
used if `Class.AlignPosition.RigidityEnabled|RigidityEnabled` is `false`
and `Class.AlignPosition.ForceLimitMode|ForceLimitMode` is
`Enum.ForceLimitMode|Magnitude`.
Note that `Class.AlignPosition.MaxForce|MaxForce`, as well as
`Class.AlignPosition.MaxVelocity|MaxVelocity`, are **caps** to the force
and velocity respectively. The actual scale is determined by
`Class.AlignPosition.Responsiveness|Responsiveness`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Compliance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignPosition.MaxVelocity
summary: |
Maximum speed the attachments can move when converging.
description: |
Maximum speed the attachments can move when converging. Only used if
`Class.AlignPosition.RigidityEnabled|RigidityEnabled` is `false`.
Note that `Class.AlignPosition.MaxVelocity|MaxVelocity`, as well as
`Class.AlignPosition.MaxForce|MaxForce`, are **caps** to the velocity and
force respectively. The actual scale is determined by
`Class.AlignPosition.Responsiveness|Responsiveness`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Compliance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignPosition.Mode
summary: |
Whether the constraint uses one or two attachments in calculating its
goal.
description: |
Whether the constraint uses **one** or **two** attachments in calculating
its goal. By default, this is `Enum.PositionAlignmentMode|TwoAttachment`,
meaning that the constraint disregards
`Class.AlignPosition.Position|Position` and attempts to move
`Class.Constraint.Attachment0|Attachment0` to the position of
`Class.Constraint.Attachment1|Attachment1`.
If set to `Enum.PositionAlignmentMode|OneAttachment`, the constraint
disregards `Class.Constraint.Attachment1|Attachment1` and attempts to move
`Class.Constraint.Attachment0|Attachment0` to
`Class.AlignPosition.Position|Position`.
code_samples: []
type: PositionAlignmentMode
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: AlignmentMode
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignPosition.Position
summary: |
The position to which the constraint should move its
`Class.Constraint.Attachment0|Attachment0`.
description: |
The position to which the constraint should move its
`Class.Constraint.Attachment0|Attachment0`. Only used if
`Class.AlignPosition.Mode|Mode` is set to
`Enum.PositionAlignmentMode|OneAttachment`, in which case
`Class.Constraint.Attachment1|Attachment1` is disregarded.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: AlignPosition
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignPosition.ReactionForceEnabled
summary: |
Whether the constraint applies force only to
`Class.Constraint.Attachment0|Attachment0`, or to both attachments in
equal and opposite directions.
description: |
If `false` (default), the constraint only applies force to
`Class.Constraint.Attachment0|Attachment0` while
`Class.Constraint.Attachment1|Attachment1` remains unaffected. If `true`,
the constraint applies force to both attachments in **equal and opposite
directions**.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: AlignPosition
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignPosition.Responsiveness
summary: |
Controls how quickly the constraint reaches its goal. Higher values cause
the attachment(s) to align more rapidly.
description: |
Controls how quickly the constraint reaches its goal. Higher values cause
the attachment(s) to align more rapidly. Value can be between 5 and 200.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Compliance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AlignPosition.RigidityEnabled
summary: |
Whether force is dependent on other properties, or if the physics solver
reacts as quickly as possible to complete the alignment.
description: |
Whether force is dependent on other properties, or if the physics solver
reacts as quickly as possible to complete the alignment. If `false`
(default), the force is determined by
`Class.AlignPosition.MaxForce|MaxForce`,
`Class.AlignPosition.MaxVelocity|MaxVelocity`, and
`Class.AlignPosition.Responsiveness|Responsiveness`. If `true`, the
physics solver reacts as quickly as possible to complete the alignment.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: AlignPosition
serialization:
can_load: true
can_save: true
capabilities:
- Physics
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,946 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AnalyticsService
type: class
memory_category: Instances
summary: |
Collection of methods that allows developers to track how users interact with
their experiences.
description: |
`AnalyticsService` is a collection of methods that allows developers to track
how users interact with their experiences, specifically player progression,
in-experience economy, funnels, and custom events.
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotCreatable
- Service
- NotReplicated
deprecation_message: ''
properties:
- name: AnalyticsService.ApiKey
summary: |
PlayFab API key. Must be set in order to use
`Class.AnalyticsService:FireEvent()|FireEvent`.
description: |
The **ApiKey** property contains the game's PlayFab API key. It must be
set and valid in order to use
`Class.AnalyticsService:FireEvent()|FireEvent`. It can be set by pasting
and editing the following line of code into the Command bar:
```lua
game:GetService("AnalyticsService").ApiKey = "API_KEY"
```
code_samples: []
type: string
tags:
- Deprecated
deprecation_message: ''
security:
read: LocalUserSecurity
write: LocalUserSecurity
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Basic
methods:
- name: AnalyticsService:FireCustomEvent
summary: |
Fires a custom event with a custom event name and data.
description: |
This function triggers a custom event with a custom event name data.
#### Limits of events
Each game server is allowed a certain number of standard events API calls
based on the number of players present (more players means more events
will be needed). The events that exceed the limit will be dropped and log
an error to the developer console. - Per minute limit: 120 + numPlayers \*
20, all events shared this limit. - Cooldown: refresh every 10 seconds
#### Limits of parameters
Limit the size of parameters. The event that exceeds the limit will be
dropped and log an error to the developer console.
<table>
<thead>
<tr>
<th>Parameters</th>
<th>Maximum Number of Characters</th>
</tr>
</thead>
<tbody>
<tr>
<td>customData Variant</td>
<td>500 after serialized</td>
</tr>
<tr>
<td>other string types</td>
<td>50</td>
</tr>
</tbody>
</table>
See also:
- `Class.AnalyticsService:FirePlayerProgressionEvent()`, triggers an event
used to track player progression through the game
- `Class.AnalyticsService:FireInGameEconomyEvent()`, triggers an event
used to track player actions pertaining to the in-game economy
- `Class.AnalyticsService:FireLogEvent()`, triggers an event used to track
errors and warnings experienced by players
code_samples:
- analytics-event---custom
parameters:
- name: player
type: Instance
default:
summary: |
The player who triggered the custom event. `nil` if not player
related.
- name: eventCategory
type: string
default:
summary: |
User defined category. This should be the name of the event.
- name: customData
type: Variant
default:
summary: |
Optional. User defined data, could be a string, a number or a table.
returns:
- type: ()
summary: ''
tags:
- Deprecated
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:FireEvent
summary: |
Report a custom event to PlayFab.
description: |
**FireEvent** reports a custom event to PlayFab. The event is reported
using a **category** and **value**, where the category is a string and the
value can be a string or table. In order to use PlayFab, you must have a
valid `Class.AnalyticsService.ApiKey|ApiKey` set.
#### Possible Errors
- **"AnalyticsService can only be executed by game server."** – Tracking
can only be done on the server through a `Class.Script` or
`Class.ModuleScript` required by a script. See
`Class.RunService:IsServer()`.
- **"The ApiKey is invalid."** – The
`Class.AnalyticsService.ApiKey|ApiKey` has been set, but it's invalid.
Check that it is set to the correct value.
- **"AnalyticsService can only accept valid UTF-8 characters."** – Thrown
when the value can't be serialized as UTF-8 characters. This can happen
if you pass a value which has unicode characters, like emojis.
- **"AnalyticsService failed in parse event value. Error: ..."** – Thrown
when there is an issue when serializing the provided value into a
string.
- **"AnalyticsService: , " and \r\n are not allowed in category."** – The
comma `,`, the double quote `"`, and newline characters `\r\n` cannot be
used in the **category** parameter.
- **"AnalyticsService: The event value you fired is too long."** – Thrown
if the **value** parameter was too long after serialization. The length
limit is 1 KiB, or 1024 bytes.
code_samples: []
parameters:
- name: category
type: string
default:
summary: |
'The category of event to report. Cannot contain the following
characters: comma `,`, double quote `"` or newline characters `\r\n`'.
- name: value
type: Variant
default:
summary: |
A value to be serialized and reported. Serialized length must not
exceed 1 KiB, or 1024 bytes.
returns:
- type: ()
summary: ''
tags:
- Deprecated
deprecation_message: |
This function has been deprecated in favor of more descriptive methods,
including:
- `Class.AnalyticsService:FireCustomEvent()`
- `Class.AnalyticsService:FireInGameEconomyEvent()`
- `Class.AnalyticsService:FireLogEvent()`
- `Class.AnalyticsService:FirePlayerProgressionEvent()`
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:FireInGameEconomyEvent
summary: |
Fire an event used to track player actions pertaining to the in-game
economy.
description: |
This function triggers an event used to track player actions pertaining to
the in-game economy.
For example, it should be called to track when players acquire or spend
virtual items within the economy like currency.
#### Limits of events
Each game server is allowed a certain number of standard events API calls
based on the number of players present (more players means more events
will be needed). The events that exceed the limit will be dropped and log
an error to the developer console. - Per minute limit: 120 + numPlayers \*
20, all events shared this limit. - Cooldown: refresh every 10 seconds
#### Limits of parameters
Limit the size of parameters. The event that exceeds the limit will be
dropped and log an error to the developer console.
<table>
<thead>
<tr>
<th>Parameters</th>
<th>Maximum Number of Characters</th>
</tr>
</thead>
<tbody>
<tr>
<td>customData Variant</td>
<td>500 after serialized</td>
</tr>
<tr>
<td>other string types</td>
<td>50</td>
</tr>
</tbody>
</table>
See also:
- `Class.AnalyticsService:FirePlayerProgressionEvent()`, triggers an event
used to track player progression through the game
- `Class.AnalyticsService:FireLogEvent()`, triggers an event used to track
errors and warnings experienced by players
- `Class.AnalyticsService:FireCustomEvent()`, triggers an event used to
emit a custom event
code_samples:
- analytics-event---economy
parameters:
- name: player
type: Instance
default:
summary: |
The player who triggered the economy event.
- name: itemName
type: string
default:
summary: |
The name of the item.
- name: economyAction
type: AnalyticsEconomyAction
default:
summary: |
Indicates the acquisition or spending of an in game resource.
- name: itemCategory
type: string
default:
summary: |
A user defined category for items such as "Vehicle," "Weapon.".
- name: amount
type: int
default:
summary: |
The amount of the currency.
- name: currency
type: string
default:
summary: |
The currency used. Examples: 'gold', 'gems', 'life.'.
- name: location
type: Variant
default:
summary: |
The event location. A dictionary that each key-value represents an
entry of location data. The key-value is a string-string pair. With
this you can query which are the most popular "stores" then maybe you
want to increase/lower the price for the stores.
See the example below:
```lua
local location = {
["placeDesc"] = "Dungeon1",
["levelDesc"] = "level2",
["mapDesc"] = "LeftChamberMap",
["storeName"] = "DarkSmith",
["userDefinedKey"] = "0005"
}
```
- name: customData
type: Variant
default:
summary: |
Optional. User defined data, could be a string, a number or a table.
returns:
- type: ()
summary: |
No return.
tags:
- Deprecated
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:FireLogEvent
summary: |
Fire a log event used to track errors and warnings experienced by players.
description: |
This function triggers an event used to track errors and warnings
experienced by players.
For example, it could be called to indicate when a function call fails -
such as a datastore save or `Class.TeleportService:Teleport()`. See the
example below.
#### Limits of events
Each game server is allowed a certain number of standard events API calls
based on the number of players present (more players means more events
will be needed). The events that exceed the limit will be dropped and log
an error to the developer console. - Per minute limit: 120 + numPlayers \*
20, all events shared this limit. - Cooldown: refresh every 10 seconds
#### Limits of parameters
Limit the size of parameters. The event that exceeds the limit will be
dropped and log an error to the developer console.
<table>
<thead>
<tr>
<th>Parameters</th>
<th>Maximum Number of Characters</th>
</tr>
</thead>
<tbody>
<tr>
<td>FireLogEvent stackTrace</td>
<td>1000</td>
</tr>
<tr>
<td>FireLogEvent message</td>
<td>500</td>
</tr>
<tr>
<td>customData Variant</td>
<td>500 after serialized</td>
</tr>
<tr>
<td>other string types</td>
<td>50</td>
</tr>
</tbody>
</table>
See also:
- `Class.AnalyticsService:FireInGameEconomyEvent()`, triggers an event
used to track player actions pertaining to the in-game economy
- `Class.AnalyticsService:FirePlayerProgressionEvent()`, triggers an event
used to track player progression through the game
- `Class.AnalyticsService:FireCustomEvent()`, triggers an event used to
emit a custom event
code_samples:
- analytics-event---log
parameters:
- name: player
type: Instance
default:
summary: |
The player who triggered the error event, `nil` if not player related.
- name: logLevel
type: AnalyticsLogLevel
default:
summary: |
The specified log level (e.g. Debug, Error).
- name: message
type: string
default:
summary: |
User defined message.
- name: debugInfo
type: Variant
default:
summary: |
Optional. A dictionary which contains predefined keys including
"errorCode" and "stackTrace". Both keys values are strings. stackTrace
is a traceback of the current function call stack.
```lua
local debugInfo = {
errorCode = '123',
stackTrace = debug.traceback()
}
```
- name: customData
type: Variant
default:
summary: |
Optional. User defined data, could be a string, a number or a table.
returns:
- type: ()
summary: |
No return.
tags:
- Deprecated
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:FirePlayerProgressionEvent
summary: |
Fire an event used to track player progression through the game.
description: |
This function triggers an event used to track player progression through
the game.
For example, it should be called when a player starts an in-game tutorial
and again that player finishes the tutorial. Another example (see below)
includes tracking when a player gains experience, collects objects, and
levels up.
#### Limits of events
Each game server is allowed a certain number of standard events API calls
based on the number of players present (more players means more events
will be needed). The events that exceed the limit will be dropped and log
an error to the developer console. - Per minute limit: 120 + numPlayers \*
20, all events shared this limit. - Cooldown: refresh every 10 seconds
#### Limits of parameters
Limit the size of parameters. The event that exceeds the limit will be
dropped and log an error to the developer console.
<table>
<thead>
<tr>
<th>Parameters</th>
<th>Maximum Number of Characters</th>
</tr>
</thead>
<tbody>
<tr>
<td>FirePlayerProgressionEvent location</td>
<td>5 pairs of Key and Value, each Key and Value are 50</td>
</tr>
<tr>
<td>FirePlayerProgressionEvent statistics</td>
<td>5 pairs of Key and Value, each Key and Value are 50</td>
</tr>
<tr>
<td>customData Variant</td>
<td>500 after serialized</td>
</tr>
<tr>
<td>other string types</td>
<td>50</td>
</tr>
</tbody>
</table>
See also:
- `Class.AnalyticsService:FireInGameEconomyEvent()`, triggers an event
used to track player actions pertaining to the in-game economy
- `Class.AnalyticsService:FireLogEvent()`, triggers an event used to track
errors and warnings experienced by players
- `Class.AnalyticsService:FireCustomEvent()`, triggers an event used to
emit a custom event
code_samples:
- analytics-event---progression
parameters:
- name: player
type: Instance
default:
summary: |
The player who triggered the event.
- name: category
type: string
default:
summary: |
A user defined category for progression.
- name: progressionStatus
type: AnalyticsProgressionStatus
default:
summary: |
Indicates the status of the progression.
- name: location
type: Variant
default:
summary: |
The event location. A dictionary that each key-value represents an
entry of location data. The key-value is a string-string pair. With
this developers can query where is the most frequent location for a
specific progression event category. For example, the category could
be "LevelUp".
```lua
local location = {
["placeDesc"] = "Dungeon1",
["levelDesc"] = "level2",
["mapDesc"] = "LeftChamberMap",
["ProgresionType"] = "LevelUp",
["userDefinedKey5"] = "0005"
}
```
- name: statistics
type: Variant
default:
summary: |
Optional. A dictionary that each key-value represents an entry of
statistics data that allows developers to track any specific data that
they want to collect as players progress through their game. Key-Value
is a string-number pair.
```lua
local statistics = {
["numberOfKills"] = 111,
["numberOfExp"] = 222,
["userDefinedKey3"] = number,
["userDefinedKey4"] = number,
["userDefinedKey5"] = number
}
```
- name: customData
type: Variant
default:
summary: |
Optional. User defined data, could be a string, a number or a table.
returns:
- type: ()
summary: |
No return.
tags:
- Deprecated
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:LogCustomEvent
summary: |
Logs an event used to track custom metrics of a user in experience.
description: |
Logs an event used to track custom metrics of a user in experience. For
additional information, see
[custom events](../../../production/analytics/custom-events.md).
code_samples:
- Log-Custom-Event
parameters:
- name: player
type: Player
default:
summary: |
The user who triggered the event.
- name: eventName
type: string
default:
summary: |
The name of the custom event.
- name: value
type: double
default: 1
summary: |
The value of the event that will be used in aggregation.
- name: customFields
type: Dictionary
default: nil
summary: |
Optional dictionary of custom fields that will provide breakdowns in
Roblox-provided charts. Only specific keys, provided by
`Enum.AnalyticsCustomFieldKeys`, will be used for these breakdowns.
Limited to 8,000 unique combinations of values across the three custom
fields per experience.
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:LogEconomyEvent
summary: |
Logs an event used to track player actions related in experience.
description: |
Logs an event used to track player actions related in experience.
code_samples:
- AnalyticsService-LogEconomyEvent-IAP
parameters:
- name: player
type: Player
default:
summary: |
The user who triggered the event.
- name: flowType
type: AnalyticsEconomyFlowType
default:
summary: |
Should specify the direction that currency is flowing using
`Enum.AnalyticsEconomyFlowType`.
- name: currencyType
type: string
default:
summary: |
The name of the currency being added or removed, for example `"gold"`,
`"gems"`, or `"energy"`. Limited to 5 unique currency types per
experience.
- name: amount
type: float
default:
summary: |
The amount of currency being added or removed. This value should
always be positive.
- name: endingBalance
type: float
default:
summary: |
The user's balance after the currency has been added or removed. This
value should always be greater than or equal to `0`.
- name: transactionType
type: string
default:
summary: |
The type of transaction that occurred. While you're free to use any
transaction type, it's recommended to use the provided types from
`Enum.AnalyticsEconomyTransactionType` such as `"IAP"` or
`"ContextualPurchase"` to enable future insights from Roblox tools and
charts.
Because this field type is a string, you'll need to pass the `Name`
value of the enum. For example
`Enum.AnalyticsEconomyTransactionType|Enum.AnalyticsEconomyTransactionType.IAP.Name`.
Limited to 20 unique types per experience.
- name: itemSku
type: string
default:
summary: |
Optional SKU of the item or bundle being purchased. This is a unique
identifier for the item being purchased. Limited to 100 unique SKUs
per experience.
- name: customFields
type: Dictionary
default: nil
summary: |
Optional dictionary of custom fields that will provide breakdowns in
Roblox-provided charts. Only specific keys, provided by
`Enum.AnalyticsCustomFieldKeys`, will be used for these breakdowns.
Limited to 8,000 unique combinations of values across the three custom
fields per experience.
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:LogFunnelStepEvent
summary: |
Logs an event used to track user actions stepping through a pre-planned
funnel.
description: |
Logs an event used to track user actions stepping through a pre-planned
funnel. Funnel breakdowns will only consider the user and event values
from the first step in a funnel session.
code_samples:
- AnalyticsService-LogFunnelStepEvent-Shop
parameters:
- name: player
type: Player
default:
summary: |
The user who triggered the event.
- name: funnelName
type: string
default:
summary: |
The name of the funnel. This should be the same for all steps in the
funnel. Limited to 10 unique funnels per experience.
- name: funnelSessionId
type: string
default:
summary: |
Optional unique identifier for the funnel session. This should be the
same for all steps in the funnel.
Note that this field is only necessary for **recurring** funnels, for
example a purchase flow funnel or an item upgrade funnel. If you don't
have a natural funnel session identifier, it's recommended to use
`Class.HttpService:GenerateGUID()`.
- name: step
type: int
default: 1
summary: |
The step number in the funnel. This should be unique for each step in
the funnel. All funnels start at step 1. Limited to steps 1-100.
Repeated steps by the same user in the same funnel session, or when
`funnelSessionId` is `nil` will be ignored.
Note that if any steps are skipped, the intermediate steps will be
considered completed.
- name: stepName
type: string
default:
summary: |
Optional name of the step in the funnel. This field is only used for
display purposes in Roblox-provided charts.
- name: customFields
type: Dictionary
default: nil
summary: |
Optional dictionary of custom fields that will provide breakdowns in
Roblox-provided charts. Only specific keys, provided by
`Enum.AnalyticsCustomFieldKeys`, will be used for these breakdowns.
Limited to 8,000 unique combinations of values across the three custom
fields per experience.
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:LogOnboardingFunnelStepEvent
summary: |
Logs an event used to track user actions stepping through an onboarding
funnel.
description: |
Logs an event used to track user actions stepping through an onboarding
funnel. Funnel breakdowns will only consider the user and event values
from the first step in a funnel session.
code_samples:
- AnalyticsService-LogOnboardingFunnelStepEvent-TwoSteps
parameters:
- name: player
type: Player
default:
summary: |
The user who triggered the event.
- name: step
type: int
default:
summary: |
The step number in the funnel. This should be unique for each step in
the funnel. All funnels start at step 1. Limited to steps 1-100.
Note that if any steps are skipped, the intermediate steps will be
considered completed.
- name: stepName
type: string
default:
summary: |
Optional name of the step in the funnel. This field is only used for
display purposes in Roblox-provided charts.
- name: customFields
type: Dictionary
default: nil
summary: |
Optional dictionary of custom fields that will provide breakdowns in
Roblox-provided charts. Only specific keys, provided by
`Enum.AnalyticsCustomFieldKeys`, will be used for these breakdowns.
Limited to 8,000 unique combinations of values across the three custom
fields per experience.
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:LogProgressionCompleteEvent
summary: |
Logs an event for when a user has completed a level attempt.
description: |
Logs an event for when a user has completed a level attempt. This event
does not currently display in any Roblox-provided charts.
code_samples: []
parameters:
- name: player
type: Player
default:
summary: |
The player who triggered the event.
- name: progressionPathName
type: string
default:
summary: ''
- name: level
type: int
default:
summary: ''
- name: levelName
type: string
default:
summary: ''
- name: customFields
type: Dictionary
default: nil
summary: ''
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:LogProgressionEvent
summary: |
Logs an event for when a user has started, completed, or failed a level
attempt.
description: |
Logs an event for when a user has started, completed, or failed a level
attempt. This event does not currently display in any Roblox-provided
charts.
code_samples: []
parameters:
- name: player
type: Player
default:
summary: |
The player who triggered the event.
- name: progressionPathName
type: string
default:
summary: ''
- name: status
type: AnalyticsProgressionType
default:
summary: ''
- name: level
type: int
default:
summary: ''
- name: levelName
type: string
default:
summary: ''
- name: customFields
type: Dictionary
default: nil
summary: ''
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:LogProgressionFailEvent
summary: |
Logs an event for when a user has failed a level attempt.
description: |
Logs an event for when a user has failed a level attempt. This event does
not currently display in any Roblox-provided charts.
code_samples: []
parameters:
- name: player
type: Player
default:
summary: |
The user who triggered the event.
- name: progressionPathName
type: string
default:
summary: ''
- name: level
type: int
default:
summary: ''
- name: levelName
type: string
default:
summary: ''
- name: customFields
type: Dictionary
default: nil
summary: ''
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AnalyticsService:LogProgressionStartEvent
summary: |
Logs an event for when a user has started a level attempt.
description: |
Logs an event for when a user has started a level attempt. This event does
not currently display in any Roblox-provided charts.
code_samples: []
parameters:
- name: player
type: Player
default:
summary: |
The player who triggered the event.
- name: progressionPathName
type: string
default:
summary: ''
- name: level
type: int
default:
summary: ''
- name: levelName
type: string
default:
summary: ''
- name: customFields
type: Dictionary
default: nil
summary: ''
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
events: []
callbacks: []

View file

@ -0,0 +1,138 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AngularVelocity
type: class
memory_category: BaseParts
summary: |
Applies torque on an assembly to maintain a constant angular velocity.
description: |
The `AngularVelocity` constraint applies torque on an assembly to maintain a
**constant** angular velocity. Alternatively:
- If you want to control the amount of torque applied, use a `Class.Torque`
constraint.
- If you only need **initial** angular velocity, set the
`Class.BasePart.AssemblyAngularVelocity|AssemblyAngularVelocity` method
directly on the assembly.
When configuring this constraint, it may be helpful to study
[Roblox Units](../../../physics/units.md) to understand how Roblox units
compare to metric units.
#### Relativity
Application of velocity can be controlled through the constraint's
`Class.AngularVelocity.RelativeTo|RelativeTo` property. If set to
`Enum.ActuatorRelativeTo|World`, the angular velocity vector is used as is. If
set to `Enum.ActuatorRelativeTo|Attachment1` and the constraint's
`Class.Constraint.Attachment1|Attachment1` property is set to another
attachment, the angular velocity will be affected by that of the other
attachment. Setting `Class.AngularVelocity.RelativeTo|RelativeTo` to
`Enum.ActuatorRelativeTo|Attachment1` also exposes the
`Class.AngularVelocity.ReactionTorqueEnabled|ReactionTorqueEnabled` property.
code_samples: []
inherits:
- Constraint
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AngularVelocity.AngularVelocity
summary: |
A `Datatype.Vector3` that gives the desired or target angular velocity.
description: |
A `Datatype.Vector3` that gives the desired or target angular velocity.
This vector is set in the `Datatype.CFrame` expressed by the
`Class.AngularVelocity.RelativeTo|RelativeTo` property.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Torque
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AngularVelocity.MaxTorque
summary: |
Magnitude of the maximum torque the constraint can apply.
description: |
Magnitude of the maximum torque the constraint can apply.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Torque
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AngularVelocity.ReactionTorqueEnabled
summary: |
Causes the constraint to apply equal and opposite reaction forces.
description: |
This property, when enabled, causes the constraint to apply equal and
opposite reaction forces. This is important if the two attached parts can
collide, since without reaction forces collisions can create energy that
would otherwise be disregarded.
When enabled, the reaction forces cause the constraint to act like an
angular motor between the two attachments.
Only meaningful when `Class.AngularVelocity.RelativeTo|RelativeTo` is set
to `Enum.ActuatorRelativeTo|Attachment1`.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Torque
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: AngularVelocity.RelativeTo
summary: ''
description: |
The `Datatype.CFrame` in which the `AngularVelocity` force is specified.
If set to `Enum.ActuatorRelativeTo|World`, the angular velocity vector is
used as is. If set to `Enum.ActuatorRelativeTo|Attachment1`, the angular
velocity is transformed by the `Datatype.CFrame` of the assigned
attachment.
`Class.AngularVelocity.RelativeTo|RelativeTo` can also be set to
`Enum.ActuatorRelativeTo|Attachment0`, but it makes no physical sense and
will lead to unpredictable behaviors.
code_samples: []
type: ActuatorRelativeTo
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Torque
serialization:
can_load: true
can_save: true
capabilities:
- Physics
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,73 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: Animation
type: class
memory_category: Animation
summary: |
References an animation asset which can be loaded by an
`Class.AnimationController`.
description: |
An object that references an animation asset
(`Class.Animation.AnimationId|AnimationId`) which can be loaded by an
`Class.AnimationController`.
#### Loading an Animation on Client or Server
In order for `Class.AnimationTrack|AnimationTracks` to replicate correctly,
it's important to know when they should be loaded on the client or on the
server:
- If an `Class.Animator` is a descendant of a `Class.Humanoid` or
`Class.AnimationController` in a player's `Class.Player.Character`,
animations started on that player's client will be replicated to the server
and other clients.
- If the `Class.Animator` is **not** a descendant of a player character, its
animations must be loaded and started on the server to replicate.
The `Class.Animator` object must be initially created on the server and
replicated to clients for animation replication to work at all. If an
`Class.Animator` is created locally, then
`Class.AnimationTrack|AnimationTracks` loaded with that `Class.Animator` will
not replicate.
See also [Animation Editor](../../../animation/editor.md) and
[Using Animations](../../../animation/using.md) to learn how to create and add
pre-built or custom animations to your game.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: Animation.AnimationId
summary: |
Asset ID of the animation an `Class.Animation` object is referencing.
description: |
This property is the asset ID of the animation an `Class.Animation` object
is referencing. Once an animation has been created and uploaded to Roblox,
the ID can be copied from the
[Creator Dashboard](https://create.roblox.com/dashboard/creations?activeTab=Animation).
Note that the animation will need to be loaded onto an
`Class.AnimationTrack` in order to play it.
code_samples: []
type: ContentId
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Animation
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,91 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AnimationClip
type: class
memory_category: Instances
summary: |
Represents all types of animation data that the Roblox animation system can
consume.
description: |
The non-creatable `Class.AnimationClip` instance type represents abstract
animation data that can be fed to the Roblox animation system.
`Class.KeyframeSequence` and `Class.CurveAnimation` are two current instance
types that inherit from `Class.AnimationClip`.
There are different ways to represent animation data. To simplify the use of
Roblox's animation system, all such representations are their own instance
types but inherit from the `Class.AnimationClip` instance. Animation clips
published to Roblox via the [Animation Editor](../../../animation/editor.md)
can be loaded into the Roblox Engine using an `Class.Animation` instance.
code_samples: []
inherits:
- Instance
descendants:
- CurveAnimation
- KeyframeSequence
tags:
- NotCreatable
deprecation_message: ''
properties:
- name: AnimationClip.Loop
summary: |
Determines whether the animation stored in this `Class.AnimationClip` is
intended to loop.
description: |
Determines whether the animation stored in this `Class.AnimationClip` is
intended to loop. When set to true, the animation will continuously repeat
each time it finishes.
Note that `Class.AnimationTrack` instances internally load an
`Class.AnimationClip` when an `Class.Animation` is requested via its
`Class.Animation.AnimationId|AnimationId`, and the
`Class.AnimationTrack.Looped` property will default to the original
`Class.AnimationClip` value. Note also that this value can be overwritten.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Animation
- name: AnimationClip.Priority
summary: |
Determines which clip takes priority when multiple animations are playing
simultaneously.
description: |
Determines which clip takes priority when multiple animations are playing
simultaneously. Multiple playing animations look to this property to
figure out which `Class.Keyframe` poses should be played over one another.
Note that `Class.AnimationTrack` instances internally load an
`Class.AnimationClip` when an `Class.Animation` is requested via its
`Class.Animation.AnimationId|AnimationId`, and the
`Class.AnimationTrack.Priority` property will default to the original
`Class.AnimationClip` value. Note also that this value can be overwritten.
code_samples:
- KeyframeSequence-Instantiation
type: AnimationPriority
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Animation
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,262 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AnimationClipProvider
type: class
memory_category: Animation
summary: |
Provides functions to load and preview `Class.AnimationClip|AnimationClips`.
description: |
Provides functions to load and preview `Class.AnimationClip|AnimationClips`.
It includes a number of functions that are useful when working with an
`Class.Animation`.
The `Class.AnimationClipProvider` replaces the deprecated
`Class.KeyframeSequenceProvider` that was used to download `KeyframeSequences`
by content ID.
The AnimationClipProvider has a number of uses.
- Download the `Class.AnimationClip` associated with an animation content ID
from the Roblox website, regardless of the underlying type of
`Class.AnimationClip` (`Class.KeyframeSequence` or `Class.CurveAnimation`).
- Generate a temporary ID to locally preview an animation.
- Fetch the content IDs of animations owned by a particular user.
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotCreatable
- Service
- NotReplicated
deprecation_message: ''
properties: []
methods:
- name: AnimationClipProvider:GetAnimationClip
summary: |
Returns a `Class.AnimationClip` from a given asset URL.
description: |
Returns a `Class.AnimationClip` from a given asset URL.
code_samples: []
parameters:
- name: assetId
type: ContentId
default:
summary: |
The content ID of the animation.
returns:
- type: AnimationClip
summary: |
The `Class.AnimationClip` found.
tags:
- Deprecated
deprecation_message: |
This function is deprecated and can lead to the game freezing until the
animation is loaded. Developers are recommended to use
`GetAnimationClipAsync` instead.
security: PluginSecurity
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationClipProvider:GetAnimationClipAsync
summary: |
Returns a `Class.AnimationClip` based on the specified assetId
asynchronously.
description: |
Fetches an `Class.AnimationClip` based on the specified assetId. The
assetId must correspond to an animation asset in Roblox. The function will
yield until the `Class.AnimationClip` is loaded from the website and
should be wrapped in a `pcall`.
code_samples: []
parameters:
- name: assetId
type: ContentId
default:
summary: |
The content ID of the animation.
returns:
- type: AnimationClip
summary: |
The `Class.AnimationClip` found.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationClipProvider:GetAnimationClipById
summary: |
Returns a `Class.AnimationClip` from the supplied assetId.
description: |
Returns a `Class.AnimationClip` from the supplied assetId. Can optionally
cache to reduce unnecessary loading freezes.
code_samples: []
parameters:
- name: assetId
type: int64
default:
summary: |
The content ID of the animation.
- name: useCache
type: boolean
default:
summary: |
True if a cached version can be returned.
returns:
- type: AnimationClip
summary: |
The `Class.AnimationClip` found.
tags:
- Deprecated
deprecation_message: |
This function is deprecated and can lead to the game freezing until the
animation is loaded. Developers are recommended to use
`GetAnimationClipAsync` instead.
security: PluginSecurity
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationClipProvider:GetAnimationsAsync
summary: |
This function returns an `Class.InventoryPages` object which can be used
to iterate over animations owned by a specific user.
description: |
This function returns an `Class.InventoryPages` object which can be used
to iterate over animations owned by a specific user.
This function has a number of potential uses, such as allowing users to
browse and import animations into a custom animation plugin.
code_samples: []
parameters:
- name: userId
type: int64
default:
summary: |
The user ID of the user.
returns:
- type: Instance
summary: |
An `Class.InventoryPages` of animations.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationClipProvider:GetAnimations
summary: |
This function returns an `Class.InventoryPages` object which can be used
to iterate over animations owned by a specific user.
description: ''
code_samples: []
parameters:
- name: userId
type: int64
default:
summary: |
The user ID of the user.
returns:
- type: Instance
summary: |
An `Class.InventoryPages` of animations.
tags:
- Yields
- Deprecated
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationClipProvider:GetClipEvaluatorAsync
summary: ''
description: ''
code_samples: []
parameters:
- name: assetId
type: ContentId
default:
summary: ''
returns:
- type: ClipEvaluator
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationClipProvider:RegisterActiveAnimationClip
summary: |
Generates a temporary asset ID from a `Class.AnimationClip` that can be
used for localized testing of an animation.
description: |
Generates a temporary asset ID from a `Class.AnimationClip` that can be
used for localized testing of an animation. This performs the same
function as
`Class.AnimationClipProvider:RegisterAnimationClip()|RegisterAnimationClip()`
but generates an `active://` URL instead of a hash. The generated ID can
be used as an `Class.Animation.AnimationId|AnimationId` property for
testing.
The asset ID generated by this function is temporary and cannot be used
outside of Studio. Developers wishing to generate an asset ID that can be
used online should upload the `Class.AnimationClip` to Roblox.
code_samples: []
parameters:
- name: animationClip
type: AnimationClip
default:
summary: |
The `Class.AnimationClip` to be used.
returns:
- type: ContentId
summary: |
A temporary asset ID generated for localized animation playback.
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationClipProvider:RegisterAnimationClip
summary: |
Generates a temporary asset ID from a `Class.AnimationClip` that can be
used for localized testing of an animation. Generates a hash.
description: |
Generates a temporary asset ID from a `Class.AnimationClip` that can be
used for localized testing of an animation.
This function performs the same function to
`Class.AnimationClipProvider:RegisterActiveAnimationClip()|RegisterActiveAnimationClip`
yet generates a hash instead of an `active://` URL.
The ID generated can be used for the `Class.Animation.AnimationId`
property to test animations.
The asset ID generated by this function is temporary and cannot be used
outside of Studio. Developers wishing to generate an asset ID that can be
used online should upload the `Class.AnimationClip` to Roblox.
code_samples: []
parameters:
- name: animationClip
type: AnimationClip
default:
summary: |
The `Class.AnimationClip` to be used.
returns:
- type: ContentId
summary: |
A temporary asset ID generated for localized animation playback.
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
events: []
callbacks: []

View file

@ -0,0 +1,229 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AnimationConstraint
type: class
memory_category: BaseParts
summary: |
Aligns two `Class.BasePart|BaseParts` with an animate-able kinematic or
force-based joint.
description: |
An **AnimationConstraint** constrains its `Class.Attachment|Attachments` so
that they're offset by the `Class.AnimationConstraint.Transform|Transform`
`CFrame`. The `Class.AnimationConstraint.Transform|Transform` can be set
manually during `Class.RunService.PreSimulation` or by an `Class.Animator`.
code_samples: []
inherits:
- Constraint
descendants: []
tags:
- NotBrowsable
deprecation_message: ''
properties:
- name: AnimationConstraint.C0
summary: ''
description: |
The `Class.AnimationConstraint.Attachment0|Attachment0`
`Class.Attachment.CFrame|CFrame` for backwards compatibility with
`Class.Motor6D.C0`.
code_samples: []
type: CFrame
tags:
- Hidden
- ReadOnly
- NotReplicated
- Deprecated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Physics
- Animation
- name: AnimationConstraint.C1
summary: ''
description: |
The `Class.AnimationConstraint.Attachment1|Attachment1`
`Class.Attachment.CFrame|CFrame` for backwards compatibility with
`Class.Motor6D.C1`.
code_samples: []
type: CFrame
tags:
- Hidden
- ReadOnly
- NotReplicated
- Deprecated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Physics
- Animation
- name: AnimationConstraint.IsKinematic
summary: |
Toggles whether the `Class.AnimationConstraint` is kinematic or physically
simulated.
description: |
When true, the connected parts follow the
`Class.AnimationConstraint.Transform|Transform` perfectly without
participating in physics simulation. When false, the connected parts
follow the trajectory using forces and torques limited by
`Class.AnimationConstraint.MaxForce` and
`Class.AnimationConstraint.MaxTorque`.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- Animation
- name: AnimationConstraint.MaxForce
summary: |
Maximum force magnitude the constraint can apply to achieve its goal.
description: |
Maximum force magnitude the constraint can apply to achieve its goal. Only
used if `Class.AnimationConstraint.IsKinematic|IsKinematic` is false.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Compliance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- Animation
- name: AnimationConstraint.MaxTorque
summary: |
Maximum torque the constraint can apply to reach its goal.
description: |
Maximum torque the constraint can use to reach its goal. Only used if
`Class.AnimationConstraint.IsKinematic|IsKinematic` is false.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Compliance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- Animation
- name: AnimationConstraint.Part0
summary: ''
description: |
The `Class.AnimationConstraint.Attachment0|Attachment0`
`Class.Instance.Parent|Parent` for backwards compatibility with
`Class.Motor6D.Part0`.
code_samples: []
type: BasePart
tags:
- Hidden
- ReadOnly
- NotReplicated
- Deprecated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Physics
- Animation
- name: AnimationConstraint.Part1
summary: ''
description: |
The `Class.AnimationConstraint.Attachment1|Attachment1`
`Class.Instance.Parent|Parent` for backwards compatibility with
`Class.Motor6D.Part1`.
code_samples: []
type: BasePart
tags:
- Hidden
- ReadOnly
- NotReplicated
- Deprecated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Physics
- Animation
- name: AnimationConstraint.Transform
summary: |
Describes the current animation offset of the `Class.AnimationConstraint`
joint.
description: |
The internal `Datatype.CFrame` that is manipulated when a
`Class.AnimationConstraint` is being animated.
##### Timing
`Class.AnimationConstraint` transforms are not applied immediately, but
rather as a batch in a parallel job after
`Class.RunService.PreSimulation`, immediately before physics steps. The
deferred batch update is much more efficient than many immediate updates.
If the `Class.AnimationConstraint` is part of an animated model with an
`Class.Animator`, then `Class.AnimationConstraint.Transform` is usually
overwritten every frame by the `Class.Animator` after
`Class.RunService.PreAnimation` and before
`Class.RunService.PreSimulation`.
code_samples: []
type: CFrame
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- Animation
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,130 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AnimationController
type: class
memory_category: Animation
summary: |
Allows animations to be loaded and applied to a character or model in place of
a `Class.Humanoid`.
description: |
An object which allows animations to be loaded and applied to a character or
model in place of a `Class.Humanoid`. Creates an `Class.Animator` and loads
animations to update `Class.Motor6D|Motor6Ds` of said character to react in
the way that is described within the animation asset referenced by an
`Class.Animation` object.
Note that the `Class.AnimationController:LoadAnimation()|LoadAnimation()`
method of this class has been deprecated. Instead, you should call
`Class.Animator:LoadAnimation()` directly from an `Class.Animator` which can
be created manually in Studio and directly referenced in scripts. When the
deprecated method is called from an `Class.AnimationController`, the
controller itself does nothing regarding the animation intended to be loaded,
except to automatically generate an `Class.Animator`, onto which the loading
call and animation ID are transferred. In this way, the
`Class.AnimationController` can be thought of as nothing more than an empty
shell for a child `Class.Animator` object which handles any actual
functionality regarding animations.
code_samples:
- AnimationController
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties: []
methods:
- name: AnimationController:GetPlayingAnimationTracks
summary: |
Returns an array of all `Class.AnimationTrack|AnimationTracks` that are
currently being played by the `Class.AnimationController`.
description: |
Returns an array of all `Class.AnimationTrack|AnimationTracks` that are
currently being played by the `Class.AnimationController`.
A typical use for this function is stopping currently playing tracks using
`Class.AnimationTrack:Stop()`.
Note this function will not return `Class.AnimationTrack|AnimationTracks`
that have loaded but are not playing. If the developer wishes to track
these they will need to index them manually. See below for one example of
how this could be achieved:
```
local animationTracks = {}
local track = animationController:LoadTrack(animation)
table.insert(animationTracks, track)
```
code_samples:
- GetPlayingAnimationTracks
parameters: []
returns:
- type: Array
summary: |
An array of playing `Class.AnimationTrack|AnimationTracks`.
tags:
- Deprecated
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationController:LoadAnimation
summary: |
Loads an `Class.Animation` onto an `Class.AnimationController`, returning
an `Class.AnimationTrack` that can be used for playback.
description: |
This function loads an `Class.Animation` onto an
`Class.AnimationController`, returning an `Class.AnimationTrack` that can
be used for playback.
code_samples:
- AnimationController
parameters:
- name: animation
type: Animation
default:
summary: |
The `Class.Animation` to be used.
returns:
- type: AnimationTrack
summary: ''
tags:
- Deprecated
deprecation_message: |
This function is deprecated in favor of using
`Class.Animator:LoadAnimation()` directly (the `Class.Animator` may be
created while editing or at runtime).
security: None
thread_safety: Unsafe
capabilities:
- Animation
events:
- name: AnimationController.AnimationPlayed
summary: |
Fires whenever the `Class.AnimationController` begins playing an
animation. It returns the `Class.AnimationTrack` playing.
description: |
This event fires whenever the `Class.AnimationController` begins playing
an animation. It returns the `Class.AnimationTrack` playing.
The `Class.AnimationTrack` can be used to access the animation's playback
functions and events. It will only fire for animations playing on the
specific `Class.AnimationController`.
See `Class.Humanoid.AnimationPlayed` for the `Class.Humanoid` variant of
this function.
code_samples: []
parameters:
- name: animationTrack
type: AnimationTrack
default:
summary: |
The `Class.AnimationTrack` that was played.
tags:
- Deprecated
deprecation_message: ''
security: None
capabilities:
- Animation
callbacks: []

View file

@ -0,0 +1,21 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AnimationFromVideoCreatorService
type: class
memory_category: Instances
summary: ''
description: ''
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotCreatable
- Service
deprecation_message: ''
properties: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,24 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AnimationRigData
type: class
memory_category: Instances
summary: |
Used to store information regarding the model an animation was authored for.
description: |
An AnimationRigData instance commonly appears in the Data Model as a child of
an AnimationClip. It is used to store information regarding the source rig an
animation was authored for. It is currently only used for AnimationClips
authored on R15 rigs.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,770 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AnimationTrack
type: class
memory_category: Animation
summary: |
Controls the playback of an animation on an `Class.Animator`.
description: |
Controls the playback of an animation on an `Class.Animator`. This object
cannot be created, instead it is returned by the
`Class.Animator:LoadAnimation()` method.
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotCreatable
deprecation_message: ''
properties:
- name: AnimationTrack.Animation
summary: |
The `Class.Animation` object that was used to create this
`Class.AnimationTrack`.
description: |
The `Class.Animation` object that was used to create this
`Class.AnimationTrack`. To create an `Class.AnimationTrack`, you must load
an `Class.Animation` object onto an `Class.Animator` using the
`Class.Animator:LoadAnimation()` method.
code_samples:
- AnimationPlayed
type: Animation
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Animation
- name: AnimationTrack.IsPlaying
summary: |
A read-only property that returns true when the `Class.AnimationTrack` is
playing.
description: |
A read-only property that returns true when the `Class.AnimationTrack` is
playing.
This property can be used to check if an animation is already playing
before playing it (as that would cause it to restart). If you want to
obtain all playing `Class.AnimationTrack|AnimationTracks` on an
`Class.Animator` or a `Class.Humanoid`, they should use
`Class.Animator:GetPlayingAnimationTracks()`
code_samples:
- AnimationTrack-IsPlaying
type: boolean
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Animation
- name: AnimationTrack.Length
summary: |
A read-only property that returns the length (in seconds) of an
`Class.AnimationTrack`. This will return `0` until the animation has fully
loaded and thus may not be immediately available.
description: |
A read-only property that returns the length (in seconds) of an
`Class.AnimationTrack`. This will return `0` until the animation has fully
loaded and thus may not be immediately available.
When the `Class.AnimationTrack.Speed` of an `Class.AnimationTrack` is
equal to `1`, the animation will take `Class.AnimationTrack.Length` (in
seconds) to complete.
code_samples:
- Animation-Speed-2
type: float
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Animation
- name: AnimationTrack.Looped
summary: |
Sets whether the animation will repeat after finishing. If it is changed
while playing the result will take effect after the animation finishes.
description: |
This property sets whether the animation will repeat after finishing. If
it is changed while playing the result will take effect after the
animation finishes.
This property defaults to how it was set in the
[Animation Editor](../../../animation/editor.md). However, this property
can be changed, allowing control over the `Class.AnimationTrack` while it
is running. This property also correctly handles animations played in
reverse (negative `Class.AnimationTrack.Speed`). After the first keyframe
is reached, it will restart at the last keyframe.
code_samples:
- Animation-Looping
- AnimationTrack-DidLoop
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Animation
- name: AnimationTrack.Priority
summary: |
Sets the priority of an `Class.AnimationTrack`. Depending on what this is
set to, playing multiple animations at once will look to this property to
figure out which `Class.Keyframe` `Class.Pose|Poses` should be played over
one another.
description: |
This property sets the priority of an `Class.AnimationTrack`. Depending on
what this is set to, playing multiple animations at once will look to this
property to figure out which `Class.Keyframe` poses should be played over
one another. It uses `Enum.AnimationPriority` which has 7 priority levels:
1. `Enum.AnimationPriority|Action4` (highest priority)
2. `Enum.AnimationPriority|Action3`
3. `Enum.AnimationPriority|Action2`
4. `Enum.AnimationPriority|Action`
5. `Enum.AnimationPriority|Movement`
6. `Enum.AnimationPriority|Idle`
7. `Enum.AnimationPriority|Core` (lowest priority)
Properly set animation priorities, either through the
[Animation Editor](../../../animation/editor.md) or through this property,
allow multiple animations to be played without them clashing. Where two
playing animations direct the target to move the same limb in different
ways, the `Class.AnimationTrack` with the highest priority will show. If
both animations have the same priority, the weights of the tracks will be
used to combine the animations.
code_samples: []
type: AnimationPriority
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Animation
- name: AnimationTrack.Speed
summary: |
Read-only property that gives the current playback speed of the
`Class.AnimationTrack`.
description: |
This read-only property gives the current playback speed of the
`Class.AnimationTrack`. When equal to `1`, the amount of time an animation
takes to complete is equal to `Class.AnimationTrack.Length`, in seconds.
If the speed is adjusted through `Class.AnimationTrack:AdjustSpeed()`, the
actual time it will take a track to play can be computed by dividing the
length by the speed. Speed is a unitless quantity.
code_samples:
- Animation-Speed
- Animation-Speed-2
type: float
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Animation
- name: AnimationTrack.TimePosition
summary: |
Returns the position in time in seconds that an `Class.AnimationTrack` is
through playing its source animation. Can be set to make the track jump to
a specific moment in the animation.
description: |
Returns the position in time in seconds that an `Class.AnimationTrack` is
through playing its source animation. Can be set to make the track jump to
a specific moment in the animation, but the `Class.AnimationTrack` must be
playing to do so. It can also be used in combination with
`Class.AnimationTrack:AdjustSpeed()` to freeze the animation at a desired
point by setting speed to `0`.
code_samples:
- Animation-TimePosition
type: float
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: false
capabilities:
- Animation
- name: AnimationTrack.WeightCurrent
summary: |
Read-only property that gives the current weight of the
`Class.AnimationTrack`.
description: |
When weight is set in an `Class.AnimationTrack` it does not change
instantaneously but moves from `Class.AnimationTrack.WeightCurrent` to
`Class.AnimationTrack.WeightTarget`. The time it takes to do this is
determined by the `fadeTime` parameter given when the animation is played,
or the weight is adjusted.
`Class.AnimationTrack.WeightCurrent` can be checked against
`Class.AnimationTrack.WeightTarget` to see if the desired weight has been
reached. Note that these values should not be checked for equality with
the `==` operator, as both of these values are floats. To see if
`Class.AnimationTrack.WeightCurrent` has reached the target weight, it is
recommended to see if the distance between those values is sufficiently
small.
code_samples:
- AnimationWeight
type: float
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Animation
- name: AnimationTrack.WeightTarget
summary: |
Read-only property that gives the current weight of the
`Class.AnimationTrack`.
description: |
This read-only property gives the current weight of the
`Class.AnimationTrack`. It has a default value of `1` and is set when
`Class.AnimationTrack:Play()`, `Class.AnimationTrack:Stop()` or
`Class.AnimationTrack:AdjustWeight()` is called. When weight is set in an
`Class.AnimationTrack` it does not change instantaneously but moves from
`Class.AnimationTrack.WeightCurrent` to
`Class.AnimationTrack.WeightTarget`. The time it takes to do this is
determined by the `fadeTime` parameter given when the animation is played,
or the weight is adjusted.
`Class.AnimationTrack.WeightCurrent` can be checked against
`Class.AnimationTrack.WeightTarget` to see if the desired weight has been
reached. Note that these values should not be checked for equality with
the `==` operator, as both of these values are floats. To see if
`Class.AnimationTrack.WeightCurrent` has reached the target weight, it is
recommended to see if the distance between those values is sufficiently
small.
code_samples:
- AnimationWeight
type: float
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Animation
methods:
- name: AnimationTrack:AdjustSpeed
summary: |
Changes the `Class.AnimationTrack.Speed` of an animation. A positive value
for speed plays the animation forward, a negative one plays it backwards,
and `0` pauses it.
description: |
This method changes the `Class.AnimationTrack.Speed` of an animation. A
positive value for speed plays the animation forward, a negative one plays
it backwards, and `0` pauses it.
A track's initial speed is set as a parameter in
`Class.AnimationTrack:Play()`. However a track's
`Class.AnimationTrack.Speed` can be changed during playback using this
method. When speed is equal to `1`, the amount of time an animation takes
to complete is equal to `Class.AnimationTrack.Length` (in seconds).
When is adjusted, then the actual time it will take a track to play can be
computed by dividing the length by the speed. `Class.AnimationTrack.Speed`
is a unitless quantity.
code_samples:
- Animation-Speed-2
- Animation-Speed
parameters:
- name: speed
type: float
default: 1
summary: |
The playback speed the animation is to be changed to.
returns:
- type: ()
summary: ''
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationTrack:AdjustWeight
summary: |
Changes the weight of an animation, with the optional `fadeTime` parameter
determining how long it takes for `Class.AnimationTrack.WeightCurrent` to
reach `Class.AnimationTrack.WeightTarget`.
description: |
Changes the weight of an animation, with the optional `fadeTime` parameter
determining how long it takes for `Class.AnimationTrack.WeightCurrent` to
reach `Class.AnimationTrack.WeightTarget`.
When weight is set in an `Class.AnimationTrack` it does not change
instantaneously but moves from `Class.AnimationTrack.WeightCurrent` to
`Class.AnimationTrack.WeightTarget`. The time it takes to do this is
determined by the `fadeTime` parameter given when the animation is played,
or the weight is adjusted.
The animation weighting system is used to determine how
`Class.AnimationTrack|AnimationTracks` playing at the same priority are
blended together. The default weight is `1`, and no movement will be
visible on an `Class.AnimationTrack` with a weight of `0`. The pose that
is shown at any point in time is determined by the weighted average of all
the `Class.Pose|Poses` and the `Class.AnimationTrack.WeightCurrent` of
each `Class.AnimationTrack`. See below for an example of animation
blending in practice. In most cases blending animations is not required
and using `Class.AnimationTrack.Priority` is more suitable.
code_samples:
- AnimationTrack-Change-Weight
parameters:
- name: weight
type: float
default: 1
summary: |
The weight the animation is to be changed to.
- name: fadeTime
type: float
default: 0.100000001
summary: |
The duration of time that the animation will fade between the old
weight and the new weight for.
returns:
- type: ()
summary: ''
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationTrack:GetMarkerReachedSignal
summary: |
Returns an `Datatype.RBXScriptSignal` (event) that fires when a specified
`Class.KeyframeMarker` has been hit in an `Class.Animation|animation`.
description: |
This method returns an `Datatype.RBXScriptSignal` (event) similar to the
`Class.AnimationTrack.KeyframeReached` event, except it only fires when a
specified `Class.KeyframeMarker` has been hit in an
`Class.Animation|animation`. The difference allows for greater control of
when the event will fire.
To learn more about using this method, see
[here](../../../animation/events.md).
#### See Also
- `Class.KeyframeMarker`
- `Class.AnimationTrack`, controls the playback of an animation on a
`Class.Humanoid` or `Class.AnimationController`
- `Class.Keyframe`, holds the `Class.Pose|Poses` applied to joints in a
`Class.Model` at a given point of time in an animation
- `Class.Keyframe:AddMarker()`
- `Class.Keyframe:RemoveMarker()`
- `Class.Keyframe:GetMarkers()`
code_samples:
- listening-to-keyframemarkers
parameters:
- name: name
type: string
default:
summary: |
The name of the `Class.KeyframeMarker` the signal is being created
for. Not to be confused with the name of the `Class.Keyframe`.
returns:
- type: RBXScriptSignal
summary: |
The signal created and fired when the animation reaches the created
`Class.KeyframeMarker`.
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationTrack:GetParameter
summary: ''
description: ''
code_samples: []
parameters:
- name: key
type: string
default:
summary: ''
returns:
- type: Variant
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationTrack:GetParameterDefaults
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Dictionary
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationTrack:GetTargetInstance
summary: ''
description: ''
code_samples: []
parameters:
- name: name
type: string
default:
summary: ''
returns:
- type: Instance
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationTrack:GetTargetNames
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationTrack:GetTimeOfKeyframe
summary: |
Returns the time position of the first `Class.Keyframe` of the given name
in an `Class.AnimationTrack`.
description: |
Returns the time position of the first `Class.Keyframe` of the given name
in an `Class.AnimationTrack`. If multiple `Class.Keyframe|Keyframes` share
the same name, it will return the earliest one in the animation.
This method will return an error if it is uses with an invalid keyframe
name (one that does not exist for example) or if the underlying
`Class.Animation` has not yet loaded. To address this make sure only
correct keyframe names are used and the animation has loaded before
calling this method.
To check if the animation has loaded, verify that the
`Class.AnimationTrack.Length` is greater than zero.
code_samples:
- Animation-GetTimeOfKeyframe
parameters:
- name: keyframeName
type: string
default:
summary: |
The name associated with the `Class.Keyframe` to be found.
returns:
- type: double
summary: |
The time, in seconds, the `Class.Keyframe` occurs at normal playback
speed.
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationTrack:Play
summary: |
Plays the `Class.AnimationTrack`. Once called an `Class.AnimationTrack`
will play with the specified `fadeTime`, weight and speed.
description: |
When `Class.AnimationTrack:Play()` is called the track's animation will
begin playing and the weight of the animation will increase from `0` to
the specified `weight` (defaults to `1`) over the specified `fadeTime`.
The speed the `Class.AnimationTrack` will play at is determined by the
speed parameter (defaults to `1`). When the speed is equal to `1` the
number of seconds the track will take to complete is equal to the track's
`Class.AnimationTrack.Length` property. For example, a speed of `2` will
cause the track to play twice as fast.
The weight and speed of the animation can also be changed after the
animation has begun playing by using the
`Class.AnimationTrack:AdjustWeight()` and
`Class.AnimationTrack:AdjustSpeed()` methods.
If you want to start the animation at a specific point using
`Class.AnimationTrack.TimePosition`, it's important the animation is
played before this is done.
code_samples:
- Animation-Speed-2
- Animation-TimePosition
parameters:
- name: fadeTime
type: float
default: 0.100000001
summary: |
The duration of time that the animation's weight should be faded in
for.
- name: weight
type: float
default: 1
summary: |
The weight the animation is to be played at.
- name: speed
type: float
default: 1
summary: |
The playback speed of the animation.
returns:
- type: ()
summary: ''
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationTrack:SetParameter
summary: ''
description: ''
code_samples: []
parameters:
- name: key
type: string
default:
summary: ''
- name: value
type: Variant
default:
summary: ''
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationTrack:SetTargetInstance
summary: ''
description: ''
code_samples: []
parameters:
- name: name
type: string
default:
summary: ''
- name: target
type: Instance
default:
summary: ''
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: AnimationTrack:Stop
summary: |
Stops the `Class.AnimationTrack`.
description: |
Stops the `Class.AnimationTrack`. Once called, the weight of the animation
will move towards zero over a length of time specified by the optional
`fadeTime` parameter. For example, if `Stop()` is called with a `fadeTime`
of `2`, it will take two seconds for the weight of the track to reach zero
and its effects completely end. Please note this will be the case
regardless of the initial weight of the animation.
It is not recommended to use a `fadeTime` of `0` in an attempt to override
this effect and end the animation immediately for `Class.Motor6D|Motor6Ds`
that have their `Class.Motor.MaxVelocity` set to zero, as this causes the
joints to freeze in place. If it must end immediately, ensure the
`Class.Motor.MaxVelocity` of `Class.Motor6D|Motor6Ds` in your rig are high
enough for them to snap properly.
code_samples:
- AnimationTrack-Stop
parameters:
- name: fadeTime
type: float
default: 0.100000001
summary: |
The time, in seconds, for which animation weight is to be faded out
over.
returns:
- type: ()
summary: ''
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
events:
- name: AnimationTrack.DidLoop
summary: |
Fires when an `Class.AnimationTrack` loops on the next update following
the end of the previous animation loop.
description: |
This event fires whenever a looped `Class.AnimationTrack` completes a
loop, on the next update.
Currently it may also fire at the exact end of a non looped animation
track but this behavior should not be relied upon.
code_samples:
- AnimationTrack-DidLoop
parameters: []
tags: []
deprecation_message: ''
security: None
capabilities:
- Animation
- name: AnimationTrack.Ended
summary: |
Fires when the `Class.AnimationTrack` is completely done moving anything
in the world.
description: |
Fires when the `Class.AnimationTrack` is completely done moving anything
in the world, meaning the animation has finished playing, the "fade out"
is finished, and the subject is in a neutral pose.
You can use this to take action when the animation track's subject is back
in a neutral pose that's unaffected by the `Class.AnimationTrack` or to
clean up the `Class.AnimationTrack`.
code_samples:
- AnimationTrack-Ended
parameters: []
tags: []
deprecation_message: ''
security: None
capabilities:
- Animation
- name: AnimationTrack.KeyframeReached
summary: |
Fires every time playback of an `Class.AnimationTrack` reaches a
`Class.Keyframe` that does not have the default name of `Keyframe`.
description: |
Fires every time playback of an `Class.AnimationTrack` reaches a
`Class.Keyframe` that does not have the default name of `Keyframe`. This
event lets you run code at predefined points in an animation (set by
`Class.Keyframe` names).
`Class.Keyframe` names do not need to be unique. For example, if an
animation has three keyframes named `Particles`, this event will fire each
time one of these keyframes is reached.
`Class.Keyframe` names can be set in the
[Animation Editor](../../../animation/editor.md) when creating or editing
an animation. They cannot however be set by a `Class.Script` on an
existing animation prior to playing it.
code_samples: []
parameters:
- name: keyframeName
type: string
default:
summary: |
The name of the `Class.Keyframe` reached.
tags: []
deprecation_message: |
This event has been superseded by the
`Class.AnimationTrack:GetMarkerReachedSignal()` method.
security: None
capabilities:
- Animation
- name: AnimationTrack.Stopped
summary: |
Fires when the `Class.AnimationTrack` finishes playing. The AnimationTrack
might still animate the subject while the animation "fades out". To catch
when the AnimationTrack is completely done moving anything in the world,
use the `Class.AnimationTrack.Ended` event.
description: |
Fires whenever the `Class.AnimationTrack` finishes playing.
This event has a number of uses. It can be used to wait until an
`Class.AnimationTrack` has stopped before continuing (for example, if
chaining a series of animations to play after each other). It can also be
used to clean up any `Class.Instance|Instances` created during the
animation playback.
code_samples:
- AnimationTrack-Stopped
parameters: []
tags: []
deprecation_message: ''
security: None
capabilities:
- Animation
callbacks: []

View file

@ -0,0 +1,300 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: Animator
type: class
memory_category: Instances
summary: |
Responsible for the playback and replication of `Class.Animation|Animations`.
description: |
The main class responsible for the playback and replication of
`Class.Animation|Animations`. All replication of playing
`Class.AnimationTrack|AnimationTracks` is handled through the `Class.Animator`
instance.
See also [Animation Editor](../../../animation/editor.md) and
[Using Animations](../../../animation/using.md) to learn how to create and add
pre-built or custom animations to your game.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: Animator.EvaluationThrottled
summary: ''
description: ''
code_samples: []
type: boolean
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: Safe
category: Behavior
serialization:
can_load: false
can_save: false
capabilities:
- Animation
- name: Animator.PreferLodEnabled
summary: ''
description: ''
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities:
- Animation
- name: Animator.RootMotion
summary: ''
description: ''
code_samples: []
type: CFrame
tags:
- ReadOnly
- NotReplicated
- NotBrowsable
deprecation_message: ''
security:
read: None
write: None
thread_safety: Safe
category: Behavior
serialization:
can_load: false
can_save: false
capabilities:
- Animation
- name: Animator.RootMotionWeight
summary: ''
description: ''
code_samples: []
type: float
tags:
- ReadOnly
- NotReplicated
- NotBrowsable
deprecation_message: ''
security:
read: None
write: None
thread_safety: Safe
category: Behavior
serialization:
can_load: false
can_save: false
capabilities:
- Animation
methods:
- name: Animator:ApplyJointVelocities
summary: |
Computes relative velocities between parts and apply them to
`Class.Motor6D.Part1`. These relative velocity calculations and
assignments happen in the order provided.
description: |
Given the current set of `Class.AnimationTrack|AnimationTracks` playing,
and their current times and play speeds, compute relative velocities
between the parts and apply them to Motor6D.Part1 (the part which
`Class.Animator` considers the "child" part). These relative velocity
calculations and assignments happen in the order provided.
This method doesn't apply velocities for a given joint if both of the
joint's parts are currently part of the same assembly, for example, if
they are still connected directly or indirectly by Motors or Welds.
This method doesn't disable or remove the joints for you. You must disable
or otherwise remove the rigid joints from the assembly before calling this
method.
The given `Motor6Ds` are not required to be descendants of the
`Class.DataModel`. Removing the joints from the `Class.DataModel` before
calling this method is supported.
code_samples: []
parameters:
- name: motors
type: Variant
default:
summary: ''
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: Animator:GetPlayingAnimationTracks
summary: |
Returns the list of currently playing
`Class.AnimationTrack|AnimationTracks`.
description: |
Returns the list of currently playing
`Class.AnimationTrack|AnimationTracks`.
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: Animator:LoadAnimation
summary: |
Loads an `Class.Animation` onto an `Class.Animator`, returning an
`Class.AnimationTrack`.
description: |
This function loads the given `Class.Animation` onto this
`Class.Animator`, returning a playable `Class.AnimationTrack`. When called
on an `Class.Animator` within models that the client has network ownership
of, for example the local player's character or from
`Class.BasePart:SetNetworkOwner()`, this function also loads the animation
for the server as well.
Note that the `Class.Animator` must be in the `Class.Workspace` before
making a call to `LoadAnimation()` or else it will be unable to retrieve
the `Class.AnimationClipProvider` service and throw an error.
You should use this function directly instead of the similarly-named
`Class.Humanoid:LoadAnimation()` and
`Class.AnimationController:LoadAnimation()` functions. These are
deprecated proxies of this function which also create an `Class.Animator`
if one does not exist; this can cause replication issues if you are not
careful.
#### Loading an Animation on Client or Server
In order for `Class.AnimationTrack|AnimationTracks` to replicate
correctly, it's important to know when they should be loaded on the client
or on the server:
- If an `Class.Animator` is a descendant of a `Class.Humanoid` or
`Class.AnimationController` in a player's `Class.Player.Character`,
animations started on that player's client will be replicated to the
server and other clients.
- If the `Class.Animator` is **not** a descendant of a player character,
its animations must be loaded and started on the server to replicate.
The `Class.Animator` object must be initially created on the server and
replicated to clients for animation replication to work at all. If an
`Class.Animator` is created locally, then
`Class.AnimationTrack|AnimationTracks` loaded with that `Class.Animator`
will not replicate.
code_samples: []
parameters:
- name: animation
type: Animation
default:
summary: |
The `Class.Animation` to be used.
returns:
- type: AnimationTrack
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: Animator:RegisterEvaluationParallelCallback
summary: ''
description: ''
code_samples: []
parameters:
- name: callback
type: Function
default:
summary: ''
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Animation
- name: Animator:StepAnimations
summary: |
Increments the `Class.AnimationTrack.TimePosition` of all playing
`Class.AnimationTrack|AnimationTracks` that are loaded onto the
`Class.Animator`, applying the offsets to the model associated with the
`Class.Animator`. For use in the command bar or by plugins only.
description: |
Increments the `Class.AnimationTrack.TimePosition` of all playing
`Class.AnimationTrack|AnimationTracks` that are loaded onto the
`Class.Animator`, applying the offsets to the model associated with the
`Class.Animator`. For use in the command bar or by plugins only.
The deltaTime parameter determines the number of seconds to increment on
the animation's progress. Typically this function will be called in a loop
to preview the length of an animation (see example).
Note that once animations have stopped playing, the model's joints will
need to be manually reset to their original positions (see example).
This function is used to simulate playback of `Class.Animation|Animations`
when the game isn't running. This allows animations to be previewed
without the consequences of running the game, such as scripts executing.
If the function is called while the game is running, or by
`Class.Script|Scripts` or `Class.LocalScript|LocalScripts`, it will return
an error.
Developers designing their own custom animation editors are advised to use
this function to preview animations, as it is the method the official
Roblox Animation Editor plugin uses.
code_samples:
- Animator-StepAnimations
parameters:
- name: deltaTime
type: float
default:
summary: |
The amount of time in seconds animation playback is to be incremented
by.
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: PluginSecurity
thread_safety: Unsafe
capabilities:
- Animation
events:
- name: Animator.AnimationPlayed
summary: |
Fires when the Animator starts playing an AnimationTrack.
description: |
Fires for all `Class.AnimationTrack:Play()` calls on AnimationTracks
created and owned by the Animator.
code_samples: []
parameters:
- name: animationTrack
type: AnimationTrack
default:
summary: ''
tags: []
deprecation_message: ''
security: None
capabilities:
- Animation
callbacks: []

View file

@ -0,0 +1,20 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: Annotation
type: class
memory_category: Instances
summary: ''
description: ''
code_samples: []
inherits:
- Instance
descendants:
- WorkspaceAnnotation
tags: []
deprecation_message: ''
properties: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,148 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: ArcHandles
type: class
memory_category: Instances
summary: |
The `Class.ArcHandles` object places 3D arc handles around any 3D object that
its `Class.PartAdornment.Adornee|Adornee` is set to.
description: |
The **ArcHandles** object places 3D arc handles around any 3D object that its
`Class.PartAdornment.Adornee|Adornee` is set to. For handles to be
interactive, it must be parented to a player's `Class.PlayerGui` or the
`Class.CoreGui`.
<img src="../../../assets/engine-api/classes/ArcHandles/ArcHandles-Example.jpg" alt="ArcHandles example" />
code_samples: []
inherits:
- HandlesBase
descendants: []
tags: []
deprecation_message: ''
properties:
- name: ArcHandles.Axes
summary: |
Sets the current Axes ArcHandles will show.
description: |
Sets the current Axes ArcHandles will show.
code_samples: []
type: Axes
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- UI
- Input
methods: []
events:
- name: ArcHandles.MouseButton1Down
summary: |
Fired when the left mouse button goes down on one of the GUI handles.
description: |
Fired when the left mouse button goes down on one of the GUI handles.
code_samples: []
parameters:
- name: axis
type: Axis
default:
summary: ''
tags: []
deprecation_message: ''
security: None
capabilities:
- Basic
- UI
- Input
- name: ArcHandles.MouseButton1Up
summary: |
Fired when the left mouse button is released on one of the GUI handles.
description: |
Fired when the left mouse button is released on one of the GUI handles.
code_samples: []
parameters:
- name: axis
type: Axis
default:
summary: ''
tags: []
deprecation_message: ''
security: None
capabilities:
- Basic
- UI
- Input
- name: ArcHandles.MouseDrag
summary: |
Fired when the mouse moves while the MouseButton1Down event has fired, but
the left mouse button has not been released yet.
description: |
Fired when the mouse moves while the MouseButton1Down event has fired, but
the left mouse button has not been released yet.
code_samples: []
parameters:
- name: axis
type: Axis
default:
summary: ''
- name: relativeAngle
type: float
default:
summary: ''
- name: deltaRadius
type: float
default:
summary: ''
tags: []
deprecation_message: ''
security: None
capabilities:
- Basic
- UI
- Input
- name: ArcHandles.MouseEnter
summary: |
Fired when a mouse "enters" the GUI handle.
description: |
Fired when a mouse "enters" the GUI handle.
code_samples: []
parameters:
- name: axis
type: Axis
default:
summary: ''
tags: []
deprecation_message: ''
security: None
capabilities:
- Basic
- UI
- Input
- name: ArcHandles.MouseLeave
summary: |
Fired when the mouse leaves the GUI handle.
description: |
Fired when the mouse leaves the GUI handle.
code_samples: []
parameters:
- name: axis
type: Axis
default:
summary: ''
tags: []
deprecation_message: ''
security: None
capabilities:
- Basic
- UI
- Input
callbacks: []

View file

@ -0,0 +1,70 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AssetDeliveryProxy
type: class
memory_category: Instances
summary: ''
description: ''
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotCreatable
- Service
- NotReplicated
deprecation_message: ''
properties:
- name: AssetDeliveryProxy.Interface
summary: ''
description: ''
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
- name: AssetDeliveryProxy.Port
summary: ''
description: ''
code_samples: []
type: int
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
- name: AssetDeliveryProxy.StartServer
summary: ''
description: ''
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,69 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AssetPatchSettings
type: class
memory_category: Instances
summary: ''
description: ''
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotCreatable
- NotReplicated
deprecation_message: ''
properties:
- name: AssetPatchSettings.ContentId
summary: ''
description: ''
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
- name: AssetPatchSettings.OutputPath
summary: ''
description: ''
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
- name: AssetPatchSettings.PatchId
summary: ''
description: ''
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,965 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AssetService
type: class
memory_category: Instances
summary: |
A non-replicated service that handles asset-related queries to the Roblox web
API.
description: |
**AssetService** is a non-replicated service that handles asset-related
queries to the Roblox web API.
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotCreatable
- Service
deprecation_message: ''
properties:
- name: AssetService.AllowInsertFreeAssets
summary: |
Controls whether `Class.AssetService:LoadAssetAsync()` can load assets
that are not owned by the experience creator.
description: |
This property can only be modified in Studio's **Experience Settings** by
changing **Allow Loading Third Party Assets**.
When `false` (default), `Class.AssetService:LoadAssetAsync()` can only
load assets that meet one of the following:
- The asset must be **created or owned** by the game creator.
- The asset must be **shared** by the asset owner.
- The asset must be owned by Roblox.
When `true`, `Class.AssetService:LoadAssetAsync()` can additionally load
any public free asset on the Creator Store.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: RobloxScriptSecurity
write: RobloxScriptSecurity
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities: []
methods:
- name: AssetService:ComposeDecalAsync
summary: |
Creates a Decal instance that uses composite PBR textures created by
layering the provided textures in the order they are provided in the
`layers` array. Textures layer based on the alpha value of the ColorMap.
description: |
Creates a new `Class.Decal` that contains a composed texture derived from
one or more layered texture sets. Each set can include color, roughness,
metalness, and normal maps. Each `layer` is composited in the order they
are provided, with the ColorMap alpha channel used to determine blending.
- There is a limit of 8 layers.
- Layering order is bottom-to-top: the first layer in the list provides
the bottom-most textures.
- Each dictionary table should contain the following key-value pairs:
- **ColorMap**: A `Datatype.Content` referencing a color (albedo)
texture by assetId.
- **RoughnessMap**: A `Datatype.Content` referencing a roughness texture
by assetId.
- **MetalnessMap**: A `Datatype.Content` referencing a metalness texture
by assetId.
- **NormalMap**: A `Datatype.Content` referencing a normal texture by
assetId.
- `ColorMap` is mandatory in every layer. The ColorMap's alpha channel is
used to control blending of the entire layer.
- `NormalMap`, `MetalnessMap`, `RoughnessMap` are optional. If omitted,
this layer doesn't perform any blending for those maps.
code_samples:
- AssetService-ComposeDecalAsync
parameters:
- name: layers
type: Array
default:
summary: |
An array of `Dictionary` tables that maps PBR names to ContentID.
returns:
- type: Decal
summary: |
A new `Class.Decal` containing the composed texture set.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AssetService:CreateAssetAsync
summary: |
Uploads a new asset to Roblox from the given object.
description: |
Uploads a new asset to Roblox from the given object.
Currently, this method can only be used in locally loaded plugins and
uploads assets without prompting first.
code_samples:
- AssetService-CreateAssetAsync
parameters:
- name: object
type: Object
default:
summary: |
The object to be created as an asset.
- name: assetType
type: AssetType
default:
summary: |
Currently supported types are:
- `Enum.AssetType.Model` – with `object` as any valid `Class.Instance`
root.
- `Enum.AssetType.Plugin` – with `object` as any valid
`Class.Instance` root.
- `Enum.AssetType.Mesh` – with `object` as any valid
`Class.EditableMesh` root.
- `Enum.AssetType.Image` – with `object` as any valid
`Class.EditableImage` root.
- name: requestParameters
type: Dictionary
default: nil
summary: |
Options table containing asset metadata:
- `Name` – Name of the asset as a string. Defaults to `[object.Name]`.
- `Description` – Description of the asset as a string. Defaults to
`"Created with AssetService:CreateAssetAsync"`.
- `CreatorId` – ID of the asset creator as a number. Defaults to the
logged in Roblox Studio user for Plugin context. Required for Open
Cloud Luau Execution context.
- `CreatorType` – `Enum.AssetCreatorType` indicating the type of asset
creator. Defaults to `Enum.AssetCreatorType.User` in Plugin context.
Required for Open Cloud Luau Execution context.
- `IsPackage` – Boolean value, only applicable to the
`Enum.AssetType.Model` type. Defaults to `true`.
returns:
- type: Tuple
summary: |
The `Enum.CreateAssetResult` and asset ID pair if successful.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetCreateUpdate
- name: AssetService:CreateAssetVersionAsync
summary: |
Uploads a new version for an existing asset from the given object.
description: |
Uploads a new version for an existing asset from the given object.
Currently, this method can only be used in locally loaded plugins and
uploads assets without prompting first.
code_samples:
- AssetService-CreateAssetVersionAsync
parameters:
- name: object
type: Object
default:
summary: |
The object to be created as an asset.
- name: assetType
type: AssetType
default:
summary: |
Currently supported types are:
- `Enum.AssetType.Model` – with `object` as any valid `Class.Instance`
root.
- `Enum.AssetType.Plugin` – with `object` as any valid
`Class.Instance` root.
- `Enum.AssetType.Mesh` – with `object` as any valid
`Class.EditableMesh` root.
- `Enum.AssetType.Image` – with `object` as any valid
`Class.EditableImage` root.
- name: assetId
type: int64
default:
summary: |
The ID of the asset for the new version.
- name: requestParameters
type: Dictionary
default: nil
summary: |
Options table containing asset metadata:
- `Name` – A `string`. Name of the asset. Default: object.Name.
- `Description` – A `string`. Description of the asset. Default:
"Created with AssetService:CreateAssetAsync".
- `CreatorId` – A `number`. ID of the asset creator. Default: The
logged in Roblox Studio user for Plugin context. Required for Open
Cloud Luau Execution context.
- `CreatorType` – A `Enum.AssetCreatorType`. Type of asset creator.
Default: `Enum.AssetCreatorType.User` in Plugin context. Required
for Open Cloud Luau Execution context.
- `IsPackage` – A `bool`. Only applicable to the
`Enum.AssetType.Model` type. Default: true.
returns:
- type: Tuple
summary: |
The `Enum.CreateAssetResult` and asset version number pair if
successful.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetCreateUpdate
- name: AssetService:CreateEditableImage
summary: |
Creates a new `Class.EditableImage`.
description: |
Creates a new `Class.EditableImage`. By default, the resolution is set at
512&times;512, but you can specify a different size using the method's
option table.
If the device‑specific editable memory budget is exhausted, creation fails
and this method returns `nil`.
code_samples: []
parameters:
- name: editableImageOptions
type: Dictionary?
default:
summary: |
Options table containing controls for the method:
- `Size` – A `Datatype.Vector2` that specifies the image's desired
width and height.
returns:
- type: EditableImage
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- DynamicGeneration
- name: AssetService:CreateEditableImageAsync
summary: |
Creates a new `Class.EditableImage` object populated with the given image.
description: |
Creates a new `Class.EditableImage` object populated with the given
texture. Non-asset texture IDs such as `rbxthumb://` are supported. If
using an image asset, it must be associated with and/or owned by a creator
of the experience, or it must have been created inside the experience. If
the device-specific editable memory budget is exhausted, creation will
fail and this method will return `nil`.
See the `Class.EditableImage` documentation for special considerations
when using this API.
code_samples: []
parameters:
- name: content
type: Content
default:
summary: |
Reference to asset content stored externally or as an object within
the place, wrapping a single value of one of the supported
`Enum.ContentSourceType` values.
- name: editableImageOptions
type: Dictionary?
default:
summary: |
Table containing options for the created `Class.EditableImage`.
Currently no options are available since resizing via
`Class.EditableImage.Size|Size` is not supported.
returns:
- type: EditableImage
summary: |
A new `Class.EditableImage` containing the provided image.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetRead
- name: AssetService:CreateEditableMesh
summary: |
Creates a new, empty `Class.EditableMesh`.
description: |
Creates a new, empty `Class.EditableMesh`. Vertices, triangles, and their
attributes can be added dynamically to it. If the device‑specific editable
memory budget is exhausted, creation will fail and this method will return
`nil`.
code_samples: []
parameters:
- name: editableMeshOptions
type: Dictionary?
default:
summary: |
Table containing options for the created `Class.EditableMesh`.
Currently no options are available since
`Class.EditableMesh.FixedSize|FixedSize` will always be `false` for
empty editable meshes.
returns:
- type: EditableMesh
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- DynamicGeneration
- name: AssetService:CreateEditableMeshAsync
summary: |
Returns a new `Class.EditableMesh` object created from an existing mesh
content ID.
description: |
Returns a new `Class.EditableMesh` object created from an existing
`Class.EditableMesh` or mesh `Datatype.Content` ID. By default, an
`Class.EditableMesh` created from this method will be fixed size such that
mesh data can only be modified, not added nor removed. A fixed size
`Class.EditableMesh` consumes less memory and should be preferred when
possible.
If the device-specific editable memory budget is exhausted, creation will
fail and this method will return `nil`.
See the **Enabling EditableMesh for Published Experiences** and
**Permissions** sections of `Class.EditableMesh` for special
considerations when using this API.
code_samples: []
parameters:
- name: content
type: Content
default:
summary: |
Reference to asset content stored externally or as an object within
the place, wrapping a single value of one of the supported
`Enum.ContentSourceType` values.
- name: editableMeshOptions
type: Dictionary?
default:
summary: |
Options table containing controls for the method:
- `FixedSize` – A `bool`. Default value is `true`, and the returned
`Class.EditableMesh` will not allow you to add or remove vertices,
only modify their values. Set to `false` if the ability to change
the mesh topology is required, at the expense of using more memory.
returns:
- type: EditableMesh
summary: |
The new `Class.EditableMesh` instance.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetRead
- name: AssetService:CreateMeshPartAsync
summary: |
Creates a new `Class.MeshPart` with a specified mesh ID and an optional
table of fidelity values.
description: |
This method creates a `Class.MeshPart` with a specified
`Class.MeshPart.CollisionFidelity|CollisionFidelity`,
`Class.MeshPart.RenderFidelity|RenderFidelity`, and
`Class.MeshPart.FluidFidelity|FluidFidelity`. Because
`Class.MeshPart.MeshId` is read only, this method is for creating a mesh
with any mesh ID through scripts, without having to clone an existing
`Class.MeshPart`. It throws errors if creation fails.
code_samples: []
parameters:
- name: meshContent
type: Content
default:
summary: |
Reference to asset content stored externally or as an object within
the place, wrapping a single value of one of the supported
`Enum.ContentSourceType` values.
- name: options
type: Dictionary
default: nil
summary: |
Options table containing one or more controls for the method:
- `CollisionFidelity` – The value of
`Class.MeshPart.CollisionFidelity|CollisionFidelity` in the
resulting part. Defaults to `Enum.CollisionFidelity.Default` if the
option is absent or the `options` table is `nil`.
- `RenderFidelity` – The value of
`Class.MeshPart.RenderFidelity|RenderFidelity` in the resulting
part. Defaults to `Enum.RenderFidelity.Automatic` if the option is
absent or the `options` table is `nil`.
- `FluidFidelity` – The value of
`Class.MeshPart.FluidFidelity|FluidFidelity` in the resulting part.
Defaults to `Enum.FluidFidelity.Automatic` if the option is absent
or the `options` table is `nil`.
returns:
- type: MeshPart
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AssetService:CreatePlaceAsync
summary: |
Clones a place through the given `templatePlaceID`.
description: |
Clones a place through the given `templatePlaceID` and returns the
`Class.DataModel.PlaceId|PlaceId` of the new place, which you can use with
`Class.TeleportService`. The clone place displays within the inventory of
the place's creator with the given name and description.
Note that the template place must have template copying enabled through
place settings. You cannot use this method to clone places that you don't
own.
Frequent use of this API is not recommended, particularly if the created
places contain scripts, as updating the code in a large volume of places
quickly becomes infeasible. For user-generated worlds, consider
serializing user creations and saving them in `Class.DataStore|DataStores`
instead.
code_samples: []
parameters:
- name: placeName
type: string
default:
summary: |
Name of the new place.
- name: templatePlaceID
type: int64
default:
summary: |
`Class.DataModel.PlaceId|PlaceId` of the place to clone.
- name: description
type: string
default:
summary: |
Description of the new place.
returns:
- type: int64
summary: |
`Class.DataModel.PlaceId|PlaceId` of the new place.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetCreateUpdate
- name: AssetService:CreatePlaceInPlayerInventoryAsync
summary: |
Clones a place through the given `templatePlaceID` and puts it into the
inventory of the given player.
description: ''
code_samples: []
parameters:
- name: player
type: Instance
default:
summary: ''
- name: placeName
type: string
default:
summary: ''
- name: templatePlaceID
type: int64
default:
summary: ''
- name: description
type: string
default:
summary: ''
returns:
- type: int64
summary: ''
tags:
- Yields
deprecation_message: |
This method has been removed and is no longer functional.
security: None
thread_safety: Unsafe
capabilities:
- AssetCreateUpdate
- name: AssetService:CreateSurfaceAppearanceAsync
summary: |
Creates a new `Class.SurfaceAppearance` object using the provided content
maps.
description: |
Creates a new `Class.SurfaceAppearance` object using the provided content
maps.
Currently, content only supports `Class.EditableImage` and only content
maps can be specified, but functionality will expand to include asset IDs
as input. If you need to achieve this today, you can create an
`Class.EditableImage` from an asset ID using the following:
`Class.AssetService:CreateEditableImageAsync(Content.fromUri(uri))`
Default values will be used for all other `Class.SurfaceAppearance`
properties.
code_samples:
- AssetService-CreateSurfaceAppearanceAsync
parameters:
- name: content
type: Dictionary
default:
summary: |
Dictionary containing the following key-value pairs:
- `ColorMap` — A `Datatype.Content` object that contains the color
map. Default is `nil`.
- `MetalnessMap` — A `Datatype.Content` object that contains the
metalness map. If more than one channel is present, only the red
channel is used. Default is `nil`.
- `NormalMap` — A `Datatype.Content` object that contains the normal
map. Default is `nil`.
- `RoughnessMap` — A `Datatype.Content` object that contains the
roughness map. If more than one channel is present, only the red
channel is used. Default is `nil`.
- `EmissiveMask` — A `Datatype.Content` object that contains the
emissive mask. If more than one channel is present, only the red
channel is used. Default is `nil`.
returns:
- type: SurfaceAppearance
summary: |
A new `Class.SurfaceAppearance` instance with the given maps from the
`content` parameter.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: AssetService:GetAssetIdsForPackageAsync
summary: |
Returns an array of asset IDs that are contained in a specified package.
description: |
Returns an array of asset IDs that are contained in a specified package.
code_samples: []
parameters:
- name: packageAssetId
type: int64
default:
summary: ''
returns:
- type: Array
summary: |
Asset IDs that are contained in a specified package.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetRead
- name: AssetService:GetAssetIdsForPackage
summary: |
Returns an array of asset IDs that are contained in a specified package.
description: ''
code_samples: []
parameters:
- name: packageAssetId
type: int64
default:
summary: ''
returns:
- type: Array
summary: |
Asset IDs that are contained in a specified package.
tags:
- Yields
- Deprecated
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetRead
- name: AssetService:GetAudioMetadataAsync
summary: |
Provides relevant metadata about a specific audio source.
description: |
Provides relevant metadata about a specific audio source (artist, title,
duration, type, etc.).
code_samples:
- AssetService-GetAudioMetadataAsync
parameters:
- name: idList
type: Array
default:
summary: |
Array of asset or content IDs for which to retrieve metadata. Max
batch size is 30.
returns:
- type: Array
summary: |
Array of dictionary tables in the same order as the request, where
each dictionary contains the following metadata for its asset/content:
- `AssetId` (string)
- `Title` (string)
- `Artist` (string)
- `Duration` (number) in seconds
- `AudioType` (`Enum.AudioSubType`)
Note that if an error occurs on fetching metadata for any of the
requested assets, for example the asset ID doesn't exist, its
dictionary table is still included in the returned array but it only
contains the `AssetId` field for reference purposes. Additionally, if
the `AudioType` cannot be determined for a given asset (perhaps
because it's private audio), the resulting dictionary will not contain
an `AudioType` entry.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetRead
- name: AssetService:GetBundleDetailsAsync
summary: |
Returns details of the contents of specified bundle.
description: |
This function returns details of the contents of the specified bundle.
If the bundle ID does not exist, it throws `HTTP 400 (Bad Request)`. If
`bundleId` is not convertible to an integer, it throws
`Unable to cast string to int64`.
code_samples:
- getting-bundle-details
parameters:
- name: bundleId
type: int64
default:
summary: |
The ID of the specified bundle.
returns:
- type: Dictionary
summary: |
Dictionary with the following key-value pairs containing details about
the specified bundle:
- `Id` — Bundle ID (same as passed `bundleId` argument)
- `Name` — Bundle name
- `Description` — Bundle description
- `BundleType` — String representing the `Enum.BundleType`, for
example `"BodyParts"` or `"DynamicHead"`
- `Items` — Array of items in the bundle, each with details
represented through the following keys:
- `Id` — Item ID
- `Name` — Item name
- `Type` — Item type such as `"Asset"` .
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetRead
- name: AssetService:GetCreatorAssetID
summary: |
Returns the UserId of the account who created the creationID asset.
description: |
The GetCreatorAssetID function returns the `Class.Player.UserId` of the
account who created the _creationID_ asset.
This member is broken and doesn't function correctly. Avoid using it.
code_samples: []
parameters:
- name: creationID
type: int64
default:
summary: ''
returns:
- type: int64
summary: ''
tags:
- Yields
- Deprecated
deprecation_message: |
This item is deprecated and no longer functions correctly. Do not use it
for new work.
security: None
thread_safety: Unsafe
capabilities: []
- name: AssetService:GetGamePlacesAsync
summary: |
Returns a `Class.StandardPages` object which contains the name and
`Class.DataModel.PlaceId|PlaceId` of places within the current experience.
description: |
Returns a `Class.StandardPages` object which contains the name and
`Class.DataModel.PlaceId|PlaceId` of places within the current experience.
code_samples:
- AssetService-GetGamePlacesAsync1
parameters: []
returns:
- type: Instance
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetRead
- name: AssetService:LoadAssetAsync
summary: |
Loads a `Class.Model` instance given its asset ID. This is the modern
replacement for `Class.InsertService:LoadAsset()` and supports loading
third-party assets.
description: |
Loads the latest version of an asset from the given `assetId` and returns
it wrapped in a `Class.Model`. This method is the modern replacement for
`Class.InsertService:LoadAsset()` and
`Class.InsertService:LoadAssetVersion()` methods.
Calls to this function may fail if the asset does not exist, or if the
server providing the model is having problems. It is recommended to wrap
calls to this function in `pcall()` to handle potential errors.
```lua
local AssetService = game:GetService("AssetService")
local assetId = 257489726
local success, model = pcall(AssetService.LoadAssetAsync, AssetService, assetId)
if success and model then
print("Model loaded successfully")
model.Parent = workspace
else
warn("Model failed to load:", model) -- 'model' will contain the error message
end
```
#### Script Sandbox Security
For enhanced security, the returned `Class.Model` is sandboxed by default
(`Class.Model.Sandboxed|Sandboxed` is `true`) and has no script
`Enum.SecurityCapability|Capabilities`. This prevents untrusted scripts
descending from the returned Model from running. To enable scripts in a
model you trust, you can manually grant a safe set of
`Enum.SecurityCapability|Capabilities` on the Model after loading.
#### Third-Party Asset Loading
Unlike `Class.InsertService:LoadAsset()`, this method can load public
assets created by **third parties** (assets not owned by the experience
creator). To enable this functionality, you must first enable the **Allow
Loading Third Party Assets** setting in **Home > Game Settings >
Security**.
If this setting is disabled (which it is by default), `LoadAssetAsync`
will only load assets that are owned by the experience creator, behaving
identically to the old `Class.InsertService:LoadAsset()` security check.
code_samples: []
parameters:
- name: assetId
type: int64
default:
summary: |
The asset ID number of the asset being loaded.
returns:
- type: Instance
summary: |
A `Class.Model` instance containing the loaded asset.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetRequire
- name: AssetService:PromptCreateAssetAsync
summary: |
Allows in-experience asset creation for users by prompting a publish
dialog.
description: |
Allows in-experience asset creation for users by prompting a publish
dialog. When called, it presents a dialog to the user, allowing them to
enter a name, description, and preview the asset. Upon submitting, it
saves the asset to the user's inventory. Can only be invoked on the server
side.
code_samples: []
parameters:
- name: player
type: Player
default:
summary: |
The user who submits an asset creation.
- name: instance
type: Instance
default:
summary: |
The asset to be created. Currently can't contain scripts or nest
non-public assets.
- name: assetType
type: AssetType
default:
summary: |
The asset type. Currently can only be `Enum.AssetType.Model`.
returns:
- type: Tuple
summary: |
The `Enum.PromptCreateAssetResult` and asset ID pair if successful.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetCreateUpdate
- name: AssetService:PromptImportAnimationClipFromVideoAsync
summary: ''
description: ''
code_samples: []
parameters:
- name: player
type: Player
default:
summary: ''
- name: progressCallback
type: Function
default:
summary: ''
returns:
- type: Tuple
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetManagement
- name: AssetService:SavePlaceAsync
summary: |
Saves the state of the current place.
description: |
Saves the current state of the place. Keep in mind the following
guidelines and restrictions:
- This method only works for places that are created with
`Class.AssetService:CreatePlaceAsync()` or that have the API enabled
through the place's settings.
- This method overwrites the previous state of the place. To revert a
save, publish an older version of the place.
- There are cases when saves can occur simultaneously in Studio and in
multiple experience servers. The order of the saves happen in the order
they are called.
- An active Team Create session in Studio blocks all saves from occurring.
code_samples: []
parameters:
- name: requestParameters
type: Dictionary?
default:
summary: |
Optional dictionary that includes `SaveWithoutPublish`, a boolean
indicating whether to save with publish or without publish, and
`PlaceId`, the destination place ID to save over. An example usage
would be: AssetService:SavePlaceAsync({PlaceId = 1, SaveWithoutPublish
= true}). If PlaceId is not provided, the default behavior will save
over the current original place which is calling SavePlaceAsync. If
SaveWithoutPublish is not provided, the default behavior is
SaveWithoutPublish=false.
returns:
- type: ()
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetCreateUpdate
- name: AssetService:SearchAudioAsync
summary: |
Finds audio assets matching a variety of search criteria.
description: |
Returns a `Class.AudioPages` object containing the result of the given
search. Will not return fields with empty values.
Note that this method has a low HTTP request limit and can throw an error,
so it should always be wrapped in `pcall()` for error handling. Possible
error messages include:
<table>
<thead>
<tr>
<th>Error Message</th>
<th>Reason</th>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP 429 (Too Many Requests)</td>
<td><code>Class.AssetService:SearchAudio()</code> has been called too many times.</td>
</tr>
<tr>
<td>Unexpected type for data, expected array got null</td>
<td>The keyword argument was filtered.</td>
</tr>
</tbody>
</table>
code_samples:
- printing-search-audio-result-titles
parameters:
- name: searchParameters
type: AudioSearchParams
default:
summary: ''
returns:
- type: AudioPages
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetRead
- name: AssetService:SearchAudio
summary: |
Finds audio assets matching a variety of search criteria.
description: ''
code_samples:
- printing-search-audio-result-titles
parameters:
- name: searchParameters
type: AudioSearchParams
default:
summary: ''
returns:
- type: AudioPages
summary: ''
tags:
- Yields
- Deprecated
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetRead
events: []
callbacks: []

View file

@ -0,0 +1,186 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: Atmosphere
type: class
memory_category: Instances
summary: |
The `Class.Atmosphere` object pushes Roblox closer toward realistic
environments where sunlight scatters in different ways depending on density
and other air particle properties.
description: |
Fog properties are hidden when Lighting contains an Atmosphere object.
The **Atmosphere** object pushes Roblox closer toward realistic environments
where sunlight scatters in different ways depending on density and other air
particle properties. It simulates real-world "aerial perspective" and lets you
control light transmission from the background sky through distant objects.
Furthermore, it controls haze and glare conditions, letting you tune a perfect
sunset, foggy afternoon, and more.
See also:
- [Atmospheric Effects](../../../environment/atmosphere.md) for property
comparisons and example environments.
- [Skybox](../../../environment/skybox.md) for how to change the default
skybox for games and customize the lighting.
- [Post-Processing Effects](../../../environment/post-processing-effects.md)
for how post-processing effects can quickly improve a game's visuals with a
variety of customizable filters.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: Atmosphere.Color
summary: |
Changes the `Class.Atmosphere` hue for subtle environmental moods.
description: |
A `Datatype.Color3` value which changes the `Class.Atmosphere` hue for
subtle environmental moods. This is best combined with increased
`Class.Atmosphere.Haze` to expand the visible effect.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Environment
- name: Atmosphere.Decay
summary: |
When used with increased `Class.Atmosphere.Haze` and
`Class.Atmosphere.Glare`, defines the hue of the `Class.Atmosphere` away
from the sun, gradually falling off from `Class.Atmosphere.Color` towards
this value.
description: |
Defines the hue of the `Class.Atmosphere` away from the sun, gradually
falling off from `Class.Atmosphere.Color` towards this value. Must be used
with `Class.Atmosphere.Haze` and `Class.Atmosphere.Glare` levels higher
than 0 to see any effect.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Environment
- name: Atmosphere.Density
summary: |
Defines the amount of particles in the `Class.Atmosphere` and essentially
controls how much in-game objects/terrain will be obscured by them.
description: |
Defines the amount of particles in the air. The higher the density, the
more particles and the more in-game objects/terrain will be obscured by
them. Note that density does not **directly** affect the skybox &mdash; it
merely affects in-game objects/terrain and visibility of the skybox
through them.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Environment
- name: Atmosphere.Glare
summary: |
When used with increased `Class.Atmosphere.Haze`, specifies the glow/glare
of the `Class.Atmosphere` around the sun. More glare results in an
increased effect of sunlight cast onto the sky and world.
description: |
Specifies the glow/glare of the `Class.Atmosphere` around the sun. More
glare results in an increased effect of sunlight cast onto the sky and
world. Must be used with a `Class.Atmosphere.Haze` level higher than 0 to
see any effect.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Environment
- name: Atmosphere.Haze
summary: |
Defines the haziness of the `Class.Atmosphere` with a visible effect both
above the horizon and into the distance.
description: |
Defines the haziness of the `Class.Atmosphere` with a visible effect both
above the horizon and into the distance. This can be combined with
`Class.Atmosphere.Color` to create environmental moods, like a grey tint
for a polluted alien planet.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Environment
- name: Atmosphere.Offset
summary: |
Controls how light transmits between the camera and the sky background.
description: |
Controls how light transmits between the camera and the sky background.
Increase this value to create a horizon silhouette against the sky or
reduce it to blend distant objects into the sky for an endless and
seamless open world.
Offset should be balanced against `Class.Atmosphere.Density` and carefully
tested in your place. A low offset may cause "ghosting" where the skybox
can be seen through objects/terrain. This can be corrected by increasing
the offset, which more clearly silhouettes distant objects/terrain against
the sky, but too much offset may reveal level-of-detail "popping" for far
distant terrain and meshes.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Environment
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,69 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AtmosphereSensor
type: class
memory_category: Instances
summary: |
A `Class.SensorBase` that outputs data about the
`Class.AtmosphereSensor.AirDensity|AirDensity` and
`Class.AtmosphereSensor.RelativeWindVelocity|RelativeWindVelocity` at the
sensor's position.
description: |
A `Class.SensorBase` that outputs data about the
`Class.AtmosphereSensor.AirDensity|AirDensity` and
`Class.AtmosphereSensor.RelativeWindVelocity|RelativeWindVelocity` at the
sensor's position.
code_samples: []
inherits:
- SensorBase
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AtmosphereSensor.AirDensity
summary: |
Measures the density of the air where the sensor is positioned.
description: |
Measures the density of the air where the sensor is positioned.
code_samples: []
type: float
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Output
serialization:
can_load: false
can_save: true
capabilities:
- Basic
- name: AtmosphereSensor.RelativeWindVelocity
summary: |
Reports the wind velocity relative to the sensor.
description: |
Reports the wind velocity relative to the sensor.
code_samples: []
type: Vector3
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Output
serialization:
can_load: false
can_save: true
capabilities:
- Basic
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,444 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: Attachment
type: class
memory_category: Instances
summary: |
Defines a point and orientation relative to an ancestor `Class.PVInstance`,
`Class.Bone`, or another `Class.Attachment`.
description: |
An `Attachment` defines a point and orientation relative to an ancestor
`Class.PVInstance`, `Class.Bone`, or another `Attachment`. The offset is
stored in the `Class.Attachment.CFrame|CFrame` property. The offset can also
be set through other properties, such as
`Class.Attachment.WorldCFrame|WorldCFrame`.
If no ancestral `Class.PVInstance` or `Class.Attachment` exists, then
`Class.Attachment.CFrame|CFrame` and
`Class.Attachment.WorldCFrame|WorldCFrame` are the same.
Attachments are used by several kinds of `Class.Constraint|Constraints` and
are also valid alternatives to `Class.BasePart` as a parent for objects such
as:
- `Class.ParticleEmitter|ParticleEmitters` which will emit particles from the
attachment's specific position/orientation instead of the `Class.BasePart`
bounds.
- Light-emitting objects like `Class.PointLight` and `Class.SpotLight` which
will shine from the attachment's position/orientation instead of the
`Class.BasePart` center.
- `Class.AudioEmitter` which will use the attachment's position as the audio's
point of emission.
code_samples: []
inherits:
- Instance
descendants:
- Bone
tags: []
deprecation_message: ''
properties:
- name: Attachment.Axis
summary: |
Direction of the **X** axis of the attachment, represented as a unit
`Datatype.Vector3`.
description: |
Direction of the **X** axis of the attachment, represented as a unit
`Datatype.Vector3`.
code_samples: []
type: Vector3
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Derived Data
serialization:
can_load: true
can_save: false
capabilities:
- Basic
- name: Attachment.CFrame
summary: |
`Datatype.CFrame` offset of the attachment.
description: |
The `Datatype.CFrame` offset of the attachment. Changes to this property
will reflect onto the `Class.Attachment.Position|Position` and
`Class.Attachment.Rotation|Rotation` properties of this object. Similarly,
a change to either of those properties will reflect onto this property.
code_samples: []
type: CFrame
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Transform
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Attachment.Orientation
summary: |
Orientation of the attachment relative to the orientation of its parent.
description: |
Orientation of the attachment relative to the orientation of its parent.
Rotations are in **Z**,&nbsp;**X**,&nbsp;**Y** order.
code_samples: []
type: Vector3
tags:
- Hidden
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Transform
serialization:
can_load: false
can_save: false
capabilities:
- Basic
- name: Attachment.Position
summary: |
Positional offset of the attachment, relative to the position and
orientation of its parent.
description: |
Positional offset of the attachment, relative to the position and
orientation of its parent.
code_samples: []
type: Vector3
tags:
- Hidden
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Transform
serialization:
can_load: false
can_save: false
capabilities:
- Basic
- name: Attachment.Rotation
summary: |
Rotation of the attachment relative to the rotation of its parent.
description: |
Rotation of the attachment relative to the rotation of its parent.
Rotations are in **Z**,&nbsp;**Y**,&nbsp;**X** order.
code_samples: []
type: Vector3
tags:
- Hidden
- NotReplicated
- Deprecated
deprecation_message: |
This property is deprecated and should not be used in new work. See
`Class.Attachment.Orientation|Orientation` instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Transform
serialization:
can_load: false
can_save: false
capabilities:
- Basic
- name: Attachment.SecondaryAxis
summary: |
Direction of the **Y** axis of the attachment, represented as a unit
`Datatype.Vector3`.
description: |
Direction of the **Y** axis of the attachment, represented as a unit
`Datatype.Vector3`.
code_samples: []
type: Vector3
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Derived Data
serialization:
can_load: true
can_save: false
capabilities:
- Basic
- name: Attachment.Visible
summary: |
Toggles the in-experience visibility of the attachment.
description: |
Toggles the in-experience visibility of the attachment.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Attachment.WorldAxis
summary: |
Direction of the **X** axis of the attachment relative to the world,
represented as a unit `Datatype.Vector3` with a length of 1.
description: |
Direction of the **X** axis of the attachment relative to the world,
represented as a unit `Datatype.Vector3` with a length of 1.
code_samples: []
type: Vector3
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Derived World Data
serialization:
can_load: true
can_save: false
capabilities:
- Basic
- name: Attachment.WorldCFrame
summary: |
The exact `Datatype.CFrame` of the attachment in world space coordinates.
description: |
The exact `Datatype.CFrame` of the attachment in world space coordinates,
independent of its parent. The value of this property is equivalent to
multiplying the `Datatype.CFrame` of the attachment's parent by its own
`Datatype.CFrame`.
code_samples: []
type: CFrame
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Derived World Data
serialization:
can_load: true
can_save: false
capabilities:
- Basic
- name: Attachment.WorldOrientation
summary: |
Orientation of the attachment relative to the world rather than its own
parent.
description: |
Orientation of the attachment relative to the world rather than its own
parent. Rotations are in **Z**,&nbsp;**X**,&nbsp;**Y** order.
code_samples: []
type: Vector3
tags:
- Hidden
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Derived World Data
serialization:
can_load: false
can_save: false
capabilities:
- Basic
- name: Attachment.WorldPosition
summary: |
Position of the attachment relative to the world rather than its own
parent.
description: |
Position of the attachment relative to the world rather than its own
parent.
code_samples: []
type: Vector3
tags:
- Hidden
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Derived World Data
serialization:
can_load: false
can_save: false
capabilities:
- Basic
- name: Attachment.WorldRotation
summary: |
Rotation of the attachment relative to the world rather than its own
parent.
description: |
Rotation of the attachment relative to the world rather than its own
parent.
code_samples: []
type: Vector3
tags:
- Hidden
- ReadOnly
- NotReplicated
- Deprecated
deprecation_message: |
This item has been superseded by
`Class.Attachment.WorldOrientation|WorldOrientation` which should be used
in new work.
security:
read: None
write: None
thread_safety: ReadSafe
category: Derived World Data
serialization:
can_load: false
can_save: false
capabilities:
- Basic
- name: Attachment.WorldSecondaryAxis
summary: |
Direction of the **Y** axis of the attachment relative to the world,
represented as a unit `Datatype.Vector3` with a length of 1.
description: |
Direction of the **Y** axis of the attachment relative to the world,
represented as a unit `Datatype.Vector3` with a length of 1.
code_samples: []
type: Vector3
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Derived World Data
serialization:
can_load: true
can_save: false
capabilities:
- Basic
methods:
- name: Attachment:GetAxis
summary: |
Returns the value of the attachment's `Class.Attachment.Axis|Axis`.
description: |
Returns the value of the attachment's `Class.Attachment.Axis|Axis`.
code_samples: []
parameters: []
returns:
- type: Vector3
summary: ''
tags:
- Deprecated
deprecation_message: |
This method is deprecated and should not be used in new work.
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: Attachment:GetConstraints
summary: |
Returns a list of `Class.Constraint|Constraints` connected to the
attachment.
description: |
Returns a list of `Class.Constraint|Constraints` connected to the
attachment.
code_samples: []
parameters: []
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: Attachment:GetSecondaryAxis
summary: |
Returns the value of the attachment's
`Class.Attachment.SecondaryAxis|SecondaryAxis`.
description: |
Returns the value of the attachment's
`Class.Attachment.SecondaryAxis|SecondaryAxis`.
code_samples: []
parameters: []
returns:
- type: Vector3
summary: ''
tags:
- Deprecated
deprecation_message: |
This method is deprecated and should not be used in new work.
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: Attachment:SetAxis
summary: |
Sets the value of the attachment's `Class.Attachment.Axis|Axis`.
description: |
Sets the value of the attachment's `Class.Attachment.Axis|Axis`.
code_samples: []
parameters:
- name: axis
type: Vector3
default:
summary: ''
returns:
- type: ()
summary: ''
tags:
- Deprecated
deprecation_message: |
This method is deprecated and should not be used in new work.
security: None
thread_safety: Unsafe
capabilities:
- Basic
- name: Attachment:SetSecondaryAxis
summary: |
Sets the value of the attachment's
`Class.Attachment.SecondaryAxis|SecondaryAxis`.
description: |
Sets the value of the attachment's
`Class.Attachment.SecondaryAxis|SecondaryAxis`.
code_samples: []
parameters:
- name: axis
type: Vector3
default:
summary: ''
returns:
- type: ()
summary: ''
tags:
- Deprecated
deprecation_message: |
This method is deprecated and should not be used in new work.
security: None
thread_safety: Unsafe
capabilities:
- Basic
events: []
callbacks: []

View file

@ -0,0 +1,222 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioAnalyzer
type: class
memory_category: Internal
summary: |
Takes measurements from audio streams that are connected to it via one or more
`Class.Wire|Wires`.
description: |
`Class.AudioAnalyzer` takes measurements from audio streams that are wired to
it through `Class.Wire`. It provides a single **Input** pin but does not
produce any output streams. Note that all audio processing is disabled on the
server in order to conserve resources; Properties and methods of
`Class.AudioAnalyzer` return empty or zero results when used from server
scripts.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioAnalyzer.PeakLevel
summary: |
The loudest volume observed during the last audio buffer.
description: |
The loudest volume observed during the last audio buffer. This property
changes more often than the framerate and does not fire changed events. On
the server, this property is always `0`.
code_samples: []
type: float
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Metering
serialization:
can_load: false
can_save: true
capabilities:
- Audio
- name: AudioAnalyzer.RmsLevel
summary: |
The root-mean-square average volume observed during the last audio buffer.
description: |
The root-mean-square average volume observed during the last audio buffer.
This property is generally more stable than
`Class.AudioAnalyzer.PeakLevel|PeakLevel` but it may not capture momentary
volume spikes. This property changes more often than the framerate and
does not fire changed events. On the server, this property is always `0`.
code_samples: []
type: float
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Metering
serialization:
can_load: false
can_save: true
capabilities:
- Audio
- name: AudioAnalyzer.SpectrumEnabled
summary: |
Enables usage of `Class.AudioAnalyzer:GetSpectrum|GetSpectrum`.
description: |
Enables usage of `Class.AudioAnalyzer:GetSpectrum|GetSpectrum()`. If
`false`, `Class.AudioAnalyzer:GetSpectrum|GetSpectrum()` returns an empty
array, but the CPU overhead of the `Class.AudioAnalyzer` is dramatically
reduced. This means that if you are only analyzing the **volume** of an
audio stream, you can disable this property to improve performance.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Metering
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioAnalyzer.WindowSize
summary: ''
description: ''
code_samples: []
type: AudioWindowSize
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioAnalyzer:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioAnalyzer` has one "Input" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioAnalyzer:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioAnalyzer:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioAnalyzer:GetSpectrum
summary: |
Returns the frequency spectrum of the last audio buffer.
description: |
Returns the frequency spectrum of the last audio buffer, as an array of
numbers. The elements of the array are root-mean-square volume levels,
evenly spaced from 0 hertz to 24,000 hertz. If any of the analyzer's
inputs come from an `Class.AudioDeviceInput`, or this method is used from
a server script, it returns an empty array.
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioAnalyzer.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioAnalyzer` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioAnalyzer` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioAnalyzer` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioAnalyzer` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,173 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioChannelMixer
type: class
memory_category: Internal
summary: |
Combines multiple audio streams into a single, multichannel audio stream.
description: |
`Class.AudioChannelMixer` mixes multiple audio streams into a single,
multichannel stream. It provides one combined **Input** pin, one **Output**
pin, as well as the following secondary input pins, all of which can be
connected to/from by `Class.Wire|Wires`: **Left**, **Right**, **Center**,
**SurroundLeft**, **SurroundRight**, **Sub**, **BackLeft**, **BackRight**,
**TopLeft**, **TopRight**, **TopBackLeft**, and **TopBackRight**.
<img src="/assets/engine-api/enums/AudioChannelLayout/Surround_7_1_4.jpg" width="810" alt="Diagram showing position of all potential channels." />
code_samples:
- audio-wiring---splitting-mixing
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioChannelMixer.Layout
summary: |
Controls the output channel layout to be mixed to.
description: |
Controls the output channel layout to be mixed to. The **Input** pin of
`Class.AudioChannelMixer` is always forwarded "as-is" to **Output**, but
depending on the value of `Layout`:
- For `Enum.AudioChannelLayout.Mono|Mono`, the **Center** pin consumes
audio streams.
- For `Enum.AudioChannelLayout.Stereo|Stereo`, the **Left** and **Right**
pins consume audio streams.
- For `Enum.AudioChannelLayout.Quad|Quad`, the **Left**, **Right**,
**BackLeft**, and **BackRight** pins consume audio streams.
- `Enum.AudioChannelLayout.Surround_5|Surround_5` is the same as `Quad`,
plus **Center** consumes an audio stream.
- `Enum.AudioChannelLayout.Surround_5_1|Surround_5_1` is the same as
`Surround_5`, plus **Sub** consumes an audio stream.
- `Enum.AudioChannelLayout.Surround_7_1|Surround_7_1` is the same as
`Surround_5_1`, plus **SurroundLeft** and **SurroundRight** consume
audio streams.
- For `Enum.AudioChannelLayout.Surround_7_1_4|Surround_7_1_4`, all
secondary input pins consume audio streams.
code_samples: []
type: AudioChannelLayout
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioChannelMixer:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioChannelMixer:GetInputPins
summary: |
Returns the input pins that can be selected by `Class.Wire.TargetName`.
description: |
Returns a table of strings indicating which input pins are available for
`Class.Wire.TargetName`:
- `"Input"`
- `"Left"`
- `"Right"`
- `"Center"`
- `"SurroundLeft"`
- `"SurroundRight"`
- `"BackLeft"`
- `"BackRight"`
- `"Sub"`
- `"TopLeft"`
- `"TopRight"`
- `"TopBackLeft"`
- `"TopBackRight"`
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioChannelMixer:GetOutputPins
summary: |
Returns the output pin available for `Class.Wire.SourceName`.
description: |
Returns a table containing one string, `"Output"`, indicating the output
pin available for `Class.Wire.SourceName`.
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioChannelMixer.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioChannelMixer` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioChannelMixer` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioChannelMixer` that the `Class.Wire`
targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioChannelMixer` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,178 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioChannelSplitter
type: class
memory_category: Internal
summary: |
Splits an audio stream into component channels so that each can be processed
independently.
description: |
`Class.AudioChannelSplitter` splits an audio stream into component channels so
that each can be processed independently. It provides one **Input** pin, one
combined **Output** pin, as well as the following secondary output pins, all
of which can be connected to/from by `Class.Wire|Wires`: **Left**, **Right**,
**Center**, **SurroundLeft**, **SurroundRight**, **Sub**, **BackLeft**,
**BackRight**, **TopLeft**, **TopRight**, **TopBackLeft**, and
**TopBackRight**.
<img src="/assets/engine-api/enums/AudioChannelLayout/Surround_7_1_4.jpg" width="810" alt="Diagram showing position of all potential channels." />
code_samples:
- audio-wiring---splitting-mixing
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioChannelSplitter.Layout
summary: |
Controls the input channel layout to be split from.
description: |
Controls the input channel layout to be split from. When changed, all
audio streams prior to this channel splitter's input may need to be
up-mixed (widened to at least as many channels as the input requires).
The **Output** pin produces a copy of the stream wired to **Input** but,
depending on the value of `Class.AudioChannelSplitter.Layout`:
- For `Enum.AudioChannelLayout.Mono|Mono`, the **Center** pin produces an
audio stream.
- For `Enum.AudioChannelLayout.Stereo|Stereo`, the **Left** and **Right**
pins produce audio streams.
- For `Enum.AudioChannelLayout.Quad|Quad`, the **Left**, **Right**,
**BackLeft**, and **BackRight** pins produce audio streams.
- `Enum.AudioChannelLayout.Surround_5|Surround_5` is the same as `Quad`,
plus **Center** produces an audio stream.
- `Enum.AudioChannelLayout.Surround_5_1|Surround_5_1` is the same as
`Surround_5`, plus **Sub** produces an audio stream.
- `Enum.AudioChannelLayout.Surround_7_1|Surround_7_1` is the same as
`Surround_5_1`, plus **SurroundLeft** and **SurroundRight** produce
audio streams.
- For `Enum.AudioChannelLayout.Surround_7_1_4|Surround_7_1_4`, all
secondary output pins produce audio streams.
code_samples: []
type: AudioChannelLayout
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioChannelSplitter:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioChannelSplitter:GetInputPins
summary: |
Returns the input pin available for `Class.Wire.TargetName`.
description: |
Returns a table containing one string, `"Input"`, indicating the input pin
available for `Class.Wire.TargetName`.
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioChannelSplitter:GetOutputPins
summary: |
Returns the output pins that can be selected by `Class.Wire.SourceName`.
description: |
Returns a table of strings indicating which output pins are available for
`Class.Wire.SourceName`:
- `"Output"`
- `"Left"`
- `"Right"`
- `"Center"`
- `"SurroundLeft"`
- `"SurroundRight"`
- `"BackLeft"`
- `"BackRight"`
- `"Sub"`
- `"TopLeft"`
- `"TopRight"`
- `"TopBackLeft"`
- `"TopBackRight"`
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioChannelSplitter.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioChannelSplitter` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioChannelSplitter` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioChannelSplitter` that the `Class.Wire`
targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioChannelSplitter` and the
other instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,196 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioChorus
type: class
memory_category: Internal
summary: |
Makes an audio stream sound more voluminous. If applied to a single voice, it
may sound like multiple voices.
description: |
`Class.AudioChorus` makes an audio stream sound more voluminous. It provides
one **Input** pin and one **Output** pin which can be connected to/from by
`Class.Wire|Wires`.
`Class.AudioChorus` is implemented by duplicating the input stream and
modulating the pitch of several delayed copies so that the overall result
sounds like a cloud of streams. If applied to a single voice, it may sound
like multiple voices.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioChorus.Bypass
summary: |
Whether audio streams are passed-through unaffected by this effect.
description: |
If `true`, audio streams are passed-through unaffected by this effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioChorus.Depth
summary: |
Controls the maximum delay time of the copied streams in the chorus
effect.
description: |
Controls how strong the chorus effect is by changing the maximum delay
time of the copy streams. Ranges from 0 to 1 which corresponds to 0 to 100
milliseconds of maximum delay.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioChorus.Mix
summary: |
Controls the balance of plain input stream to modified output stream.
description: |
Controls the balance of plain input stream to modified output stream.
Ranges from 0 to 1.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioChorus.Rate
summary: |
Controls the rate of pitch modulations.
description: |
Frequency controlling the rate of pitch modulations, in hertz. Ranges from
0 to 20.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioChorus:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioChorus` has one "Input" pin and one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioChorus:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioChorus:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioChorus.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioChorus` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioChorus` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioChorus` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioChorus` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,270 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioCompressor
type: class
memory_category: Internal
summary: |
Adjusts the dynamic range of input streams.
description: |
`Class.AudioCompressor` adjusts the dynamic range of audio streams. Any
momentary bursts of loudness will be clamped down according to the
compressor's properties.
`Class.AudioCompressor` provides **Input** and **Sidechain** pins that can be
targeted by `Class.Wire.TargetName`, and an **Output** pin that can be used by
`Class.Wire.SourceName`.
code_samples:
- audio-wiring---sidechain-compression
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioCompressor.Attack
summary: |
Controls how quickly the compressor will clamp down on volume after it
surpasses `Class.AudioCompressor.Threshold|Threshold`.
description: |
Time, in seconds, denoting how quickly the compressor will clamp down on
volume after it surpasses `Class.AudioCompressor.Threshold|Threshold`.
Ranges from 0.001 to 0.5.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioCompressor.Bypass
summary: |
Whether audio streams are passed-through unaffected by this effect.
description: |
If `true`, audio streams are passed-through unaffected by this effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioCompressor.Editor
summary: ''
description: ''
code_samples: []
type: boolean
tags:
- NotReplicated
deprecation_message: ''
security:
read: RobloxScriptSecurity
write: RobloxScriptSecurity
thread_safety: ReadSafe
category: State Editing
serialization:
can_load: true
can_save: false
capabilities:
- Audio
- name: AudioCompressor.MakeupGain
summary: |
A gain value to be applied after compression.
description: |
Gain value to be applied after compression, in decibels. After limiting
the dynamic range, the resulting stream may be very quiet and this
property can be used to compensate. Ranges from -30 to 30.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioCompressor.Ratio
summary: |
Ratio of input volume to output volume, to be applied when surpassing
`Class.AudioCompressor.Threshold|Threshold`.
description: |
Ratio of input volume to output volume, to be applied when surpassing
`Class.AudioCompressor.Threshold|Threshold`. For example, a value of 2
will cut the amount by which the input stream exceeds the threshold in
half whenever the input stream does so. Ranges from 1 to 50.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioCompressor.Release
summary: |
Controls how quickly the compressor will unclamp after the stream volume
dips back below `Class.AudioCompressor.Threshold|Threshold`.
description: |
Time, in seconds, denoting how quickly the compressor will unclamp after
its stream volume dips back below
`Class.AudioCompressor.Threshold|Threshold`. Ranges from 0.01 to 0.5.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioCompressor.Threshold
summary: |
Gain value at which the compressor will start to modify the input stream.
description: |
Gain value at which the compressor will start to modify the input stream,
in decibels, with a range of -60 to 0. When the input stream's volume
surpasses `Class.AudioCompressor.Threshold|Threshold`, the compressor will
take `Class.AudioCompressor.Attack|Attack` seconds to kick in. When the
input stream's volume recedes below
`Class.AudioCompressor.Threshold|Threshold`, the compressor will take
`Class.AudioCompressor.Release|Release` seconds to stop acting.
If any `Class.Wire|Wires` are connected to the **Sidechain** pin of the
compressor, this threshold analyzes those streams instead of the **Input**
streams; this can be used to duck the volume of one stream in response to
another.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioCompressor:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioCompressor` has one "Input" pin, one "Sidechain" pin, and
one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioCompressor:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioCompressor:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioCompressor.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioCompressor` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioCompressor` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioCompressor` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioCompressor` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,307 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioDeviceInput
type: class
memory_category: Internal
summary: |
Produces audio streams from physical devices, such as microphones.
description: |
`Class.AudioDeviceInput` produces audio streams from physical devices, such as
microphones. It provides a single **Output** pin which can be connected to
other pins via `Class.Wire|Wires`. `Class.AudioDeviceInput` has properties for
selecting which `Class.Player` is producing the stream, and controlling
whether or not they are muted.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioDeviceInput.AccessType
summary: |
Determines whether the list of user IDs provided to
`Class.AudioDeviceInput.SetUserIdAccessList|SetUserIdAccessList` is
treated as an allow-list or deny-list.
description: |
Determines whether the list of user IDs provided to
`Class.AudioDeviceInput.SetUserIdAccessList|SetUserIdAccessList` is
treated as an allow-list or deny-list.
If `Class.AudioDeviceInput.AccessType|AccessType` is
`Enum.AccessModifierType.Allow`, then **only** the supplied user IDs are
**permitted** to hear this `Class.AudioDeviceInput`. If
`Class.AudioDeviceInput.AccessType|AccessType` is
`Enum.AccessModifierType.Deny`, then **only** the supplied user IDs are
**blocked** from hearing this `Class.AudioDeviceInput`.
Since player voices are networked, this property should only be assigned
from the server in order to replicate properly.
code_samples: []
type: AccessModifierType
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Permissions
serialization:
can_load: true
can_save: true
capabilities: []
- name: AudioDeviceInput.Active
summary: |
Controls whether the physical device is actively recording.
description: |
Controls whether the physical device is actively recording. This property
is only set by Roblox core scripts, but it may be read by user scripts.
Generally, an `Class.AudioDeviceInput` may only be producing sound if
`Class.AudioDeviceInput.Active|Active` is true **and**
`Class.AudioDeviceInput.Muted|Muted` is false.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: RobloxScriptSecurity
thread_safety: ReadSafe
category: Recording
serialization:
can_load: true
can_save: true
capabilities: []
- name: AudioDeviceInput.IsReady
summary: |
Denotes whether this `Class.AudioDeviceInput` is ready to produce sound.
description: |
Denotes whether this `Class.AudioDeviceInput` is ready to produce sound,
meaning all network connections have been established.
code_samples: []
type: boolean
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: RobloxScriptSecurity
write: RobloxScriptSecurity
thread_safety: ReadSafe
category: Recording
serialization:
can_load: false
can_save: true
capabilities: []
- name: AudioDeviceInput.Muted
summary: |
Controls whether this `Class.AudioDeviceInput` is muted.
description: |
Controls whether this `Class.AudioDeviceInput` is muted. Unlike
`Class.AudioDeviceInput.Active|Active`, this property is publicly
scriptable.
Generally, an `Class.AudioDeviceInput` may only be heard if
`Class.AudioDeviceInput.Active|Active` is true **and**
`Class.AudioDeviceInput.Muted|Muted` is false.
code_samples:
- audio-wiring---push-to-talk
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Recording
serialization:
can_load: true
can_save: true
capabilities: []
- name: AudioDeviceInput.MutedByLocalUser
summary: ''
description: ''
code_samples: []
type: boolean
tags:
- NotReplicated
deprecation_message: ''
security:
read: RobloxScriptSecurity
write: RobloxScriptSecurity
thread_safety: ReadSafe
category: Recording
serialization:
can_load: false
can_save: false
capabilities: []
- name: AudioDeviceInput.Player
summary: |
Determines whose device is producing sound.
description: |
Determines whose device is producing sound. In order to replicate
properly, this should only be assigned from the server. Assigning this
property locally generally does not work, unless
`Class.AudioDeviceInput.Player|Player` is `Class.Players.LocalPlayer`.
code_samples: []
type: Player
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Recording
serialization:
can_load: true
can_save: true
capabilities: []
- name: AudioDeviceInput.Volume
summary: |
Volume level which is multiplied onto the output audio stream.
description: |
Volume level which is multiplied onto the output audio stream. Ranges from
0 to 3.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities: []
methods:
- name: AudioDeviceInput:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioDeviceInput` has one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AudioDeviceInput:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AudioDeviceInput:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AudioDeviceInput:GetUserIdAccessList
summary: |
Returns a list of user IDs that are either permitted to hear or blocked
from hearing this `Class.AudioDeviceInput`.
description: |
Returns a list of user IDs that are either permitted to hear or blocked
from hearing this `Class.AudioDeviceInput`, depending on the
`Class.AudioDeviceInput.AccessType|AccessType`.
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AudioDeviceInput:SetUserIdAccessList
summary: |
Sets a list of user IDs that are either permitted to hear or blocked from
hearing this `Class.AudioDeviceInput`.
description: |
Sets a list of user IDs that are either permitted to hear or blocked from
hearing this `Class.AudioDeviceInput`, depending on the
`Class.AudioDeviceInput.AccessType|AccessType`.
Note that this method replicates from server to client; in general, it
should only be called from the server in order to replicate properly.
code_samples: []
parameters:
- name: userIds
type: Array
default:
summary: ''
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
events:
- name: AudioDeviceInput.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioDeviceInput` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioDeviceInput` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioDeviceInput` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioDeviceInput` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities: []
callbacks: []

View file

@ -0,0 +1,134 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioDeviceOutput
type: class
memory_category: Internal
summary: |
Accepts audio streams to be rendered out to physical hardware devices such as
speakers or headphones.
description: |
`Class.AudioDeviceOutput` accepts audio streams to be rendered out to physical
hardware devices such as speakers or headphones. It provides a single
**Input** pin that can be targeted by `Class.Wire|Wires`. Any audio streams
wired to an `Class.AudioDeviceOutput` are heard.
code_samples:
- audio-wiring---device-output
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioDeviceOutput.Player
summary: |
A `Class.Player` who is intended to hear the connected audio streams.
description: |
An optional `Class.Player` who is intended to hear the connected audio
streams. If left unspecified, the streams wired to this
`Class.AudioDeviceOutput` are heard by everyone.
code_samples: []
type: Player
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioDeviceOutput:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioDeviceOutput` has one "Input" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioDeviceOutput:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioDeviceOutput:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioDeviceOutput.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioDeviceOutput` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioDeviceOutput` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioDeviceOutput` that the `Class.Wire`
targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioDeviceOutput` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,147 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioDistortion
type: class
memory_category: Internal
summary: |
Distorts audio streams, making them sound fuzzier, grittier, and louder.
description: |
`Class.AudioDistortion` distorts audio streams, making them sound fuzzier,
grittier, and louder. It provides one **Input** pin and one **Output** pin
which can be connected to/from by `Class.Wire|Wires`.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioDistortion.Bypass
summary: |
Whether audio streams are passed-through unaffected by this effect.
description: |
If `true`, audio streams are passed-through unaffected by this effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioDistortion.Level
summary: |
Controls how distorted the input stream will become.
description: |
Controls how distorted the input stream will become. Ranges from 0 to 1.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioDistortion:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioDistortion` has one "Input" pin and one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioDistortion:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioDistortion:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioDistortion.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioDistortion` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioDistortion` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioDistortion` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioDistortion` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,225 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioEcho
type: class
memory_category: Internal
summary: |
Overlays delayed copies of audio streams.
description: |
`Class.AudioEcho` overlays delayed copies of audio streams. It provides one
**Input** pin and one **Output** pin which can be connected to/from by
`Class.Wire|Wires`.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioEcho.Bypass
summary: |
Whether audio streams are passed-through unaffected by this effect.
description: |
If `true`, audio streams are passed-through unaffected by this effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEcho.DelayTime
summary: |
The amount of time between echoes.
description: |
The amount of time between echoes, in seconds. Ranges from 0.001 to 5.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEcho.DryLevel
summary: |
Gain level determining how loud the original, unaltered audio stream will
be.
description: |
Gain level, in decibels, determining how loud the original, unaltered
audio stream will be. Ranges from -80 to 10.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEcho.Feedback
summary: |
How slowly echoes fade away.
description: |
Determines how slowly echoes fade away, with a range of 0 to 1. A value of
0 means that only a single echo is heard, whereas a value of 1 means that
old echoes never fully disappear.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEcho.RampTime
summary: ''
description: ''
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEcho.WetLevel
summary: |
Gain level determining how loud the echoed stream will be.
description: |
Gain level, in decibels, determining how loud the echoed stream will be.
Ranges from -80 to 10.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioEcho:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioEcho` has one "Input" pin and one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEcho:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEcho:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioEcho.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioEcho` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioEcho` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioEcho` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioEcho` and the other instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,436 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioEmitter
type: class
memory_category: Internal
summary: |
Emits audio streams into the world.
description: |
`Class.AudioEmitter` emits audio streams into the world. It provides a single
**Input** pin that can be connected to by one or more `Class.Wire|Wires`. Any
streams wired to an `Class.AudioEmitter` get broadcasted into the world from
the emitter's parent's position. If the parent is an `Class.Attachment`,
`Class.Camera`, or `Class.PVInstance`, the parent's world-position will be
used. If the parent is not one of these classes, the `Class.AudioEmitter` is
effectively silent.
`Class.AudioEmitter|AudioEmitters` are heard by
`Class.AudioListener|AudioListeners` in order to implement 3D spatialization.
code_samples:
- audio-wiring---multi-emission
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioEmitter.AcousticSimulationEnabled
summary: ''
description: ''
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Simulation
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEmitter.AngleAttenuation
summary: |
Represents how the perceived volume of the emitted sound changes based on
the angle between a `Class.AudioListener` and the
`Datatype.CFrame.LookVector|LookVector` associated with the
`Class.AudioEmitter`.
description: |
Represents a volume-over-angle curve that affects how loudly a
`Class.AudioListener` will hear the `Class.AudioEmitter`, based on the
angle between them and the `Datatype.CFrame.LookVector|LookVector`
associated with the `Class.AudioEmitter`.
This property is internal and can't be accessed by scripts; it exists to
support replication. See
`Class.AudioEmitter:SetAngleAttenuation()|SetAngleAttenuation()` for usage
details.
code_samples: []
type: BinaryString
tags: []
deprecation_message: ''
security:
read: RobloxEngineSecurity
write: RobloxEngineSecurity
thread_safety: ReadSafe
category: Emission
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEmitter.AudioInteractionGroup
summary: |
Controls which `Class.AudioListener|AudioListeners` are capable of hearing
this `Class.AudioEmitter`.
description: |
If an `Class.AudioEmitter` and an `Class.AudioListener` share an
interaction group, then the listener is capable of hearing the emitter.
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Interactions
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEmitter.DistanceAttenuation
summary: |
Represents how the perceived volume of the emitted sound changes as the
distance between a `Class.AudioListener` and the `Class.AudioEmitter`
increases.
description: |
Represents a volume-over-distance curve that affects how loudly a
`Class.AudioListener` will hear the `Class.AudioEmitter`, based on the
distance between them.
This property is internal and can't be accessed by scripts; it exists to
support replication. See
`Class.AudioEmitter:SetDistanceAttenuation()|SetDistanceAttenuation()` for
usage details.
code_samples: []
type: BinaryString
tags: []
deprecation_message: ''
security:
read: RobloxEngineSecurity
write: RobloxEngineSecurity
thread_safety: ReadSafe
category: Emission
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEmitter.PositionOverride
summary: ''
description: ''
code_samples: []
type: Instance
tags: []
deprecation_message: ''
security:
read: RobloxEngineSecurity
write: RobloxEngineSecurity
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEmitter.SimulationFidelity
summary: |
Controls how detailed the audio simulation should be for this
`Class.AudioEmitter`.
description: |
Controls how detailed the audio simulation should be for this
`Class.AudioEmitter`, similar to `Class.MeshPart.CollisionFidelity` or
`Class.MeshPart.RenderFidelity`.
`Class.AudioEmitter|AudioEmitters` and
`Class.AudioListener|AudioListeners` which disagree on the necessary level
of detail will use the less-detailed option.
code_samples: []
type: AudioSimulationFidelity
tags:
- Deprecated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Simulation
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioEmitter:GetAngleAttenuation
summary: |
Gets the angle attenuation curve that the `Class.AudioEmitter` is using,
or an empty table if it's using the default curve.
description: |
Returns a table mapping angle to volume. Keys are numbers between `0` and
`180` (inclusive), while values are numbers between `0` and `1`
(inclusive) describing how volume attenuates depending on direction. This
method returns an empty table if the default angle attenuation curve is
being used.
code_samples: []
parameters: []
returns:
- type: Dictionary
summary: |
Table mapping angle to volume, as described above.
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEmitter:GetAudibilityFor
summary: |
Calculates how audible this emitter is for a particular
`Class.AudioListener`.
description: |
Calculates how audible this emitter is for a particular
`Class.AudioListener`. The resulting volume, ranging from `0` to `1`,
accounts for distance and angle attenuation on both the emitter and
listener.
code_samples: []
parameters:
- name: listener
type: AudioListener
default:
summary: ''
returns:
- type: float
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEmitter:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioEmitter` has one "Input" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEmitter:GetDistanceAttenuation
summary: |
Gets the distance attenuation curve that the `Class.AudioEmitter` is
using, or an empty table if it's using the default curve.
description: |
Returns a table mapping distance to volume. Keys are numbers greater than
or equal to 0, while values are numbers between 0 and 1 (inclusive)
describing how volume attenuates over distance. This method returns an
empty table if the default distance attenuation curve is being used.
code_samples: []
parameters: []
returns:
- type: Dictionary
summary: ''
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEmitter:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEmitter:GetInteractingListeners
summary: |
Lists all `Class.AudioListener|AudioListeners` that are capable of hearing
this emitter.
description: |
Returns an array of `Class.AudioListener|AudioListeners` that share an
`Class.AudioEmitter.AudioInteractionGroup|AudioInteractionGroup` with the
emitter.
code_samples: []
parameters: []
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEmitter:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEmitter:SetAngleAttenuation
summary: |
Sets the angle attenuation curve that the `Class.AudioEmitter` should use,
or uses a constant curve of volume `1` if none is provided.
description: |
Sets a volume-over-angle curve that affects how loudly a
`Class.AudioListener` will hear the `Class.AudioEmitter`, based on the
angle between them and the `Datatype.CFrame.LookVector|LookVector`
associated with the `Class.AudioEmitter`.
The curve is represented by a table mapping angle keys to volume values.
Keys are expected to be unique numbers between `0` and `180` (inclusive),
while values are expected to be numbers between `0` and `1` (inclusive).
Tables containing up to 400 key-value pairs are supported.
The volume of the `Class.AudioEmitter` from the perspective of a
`Class.AudioListener` at an angle `a` is determined by linearly
interpolating between the volume levels for the points on the curve whose
angle values are directly above and below `a`. If there is either no point
below `a` or no point above `a`, the volume level of the other point is
chosen. Essentially, the curve is a sequence of points connected by
straight lines, and beyond its left and right endpoints the curve extends
outward at their respective volume levels.
This volume will be multiplied with the volumes from all other attenuation
curves (including the ones on the receiving `Class.AudioListener`) to
obtain the final audibility.
If the table is empty or `nil`, the `Class.AudioEmitter` defaults to using
an angle attenuation curve with the constant volume value of `1`.
code_samples: []
parameters:
- name: curve
type: Dictionary
default:
summary: ''
returns:
- type: ()
summary: ''
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEmitter:SetDistanceAttenuation
summary: |
Sets the distance attenuation curve that the `Class.AudioEmitter` should
use, or uses an inverse rolloff curve if none is provided.
description: |
Sets a volume-over-distance curve that affects how loudly a
`Class.AudioListener` will hear the `Class.AudioEmitter`, based on the
distance between them.
The curve is represented by a table mapping distance keys to volume
values. Keys are expected to be unique numbers greater than or equal to 0,
while values are expected to be numbers between 0 and 1 (inclusive).
Tables containing up to 400 key-value pairs are supported.
The volume of the `Class.AudioEmitter` from the perspective of a
`Class.AudioListener` at a distance `d` is determined by linearly
interpolating between the volume levels for the points on the curve whose
distance values are directly above and below `d`. If there is either no
point below `d` or no point above `d`, the volume level of the other point
is chosen. Essentially, the curve is a sequence of points connected by
straight lines, and beyond its left and right endpoints the curve extends
outward infinitely at their respective volume levels.
This volume will be multiplied with the volumes from all other attenuation
curves (including the ones on the receiving `Class.AudioListener`) to
obtain the final audibility.
If the table is empty or `nil`, the `Class.AudioEmitter` defaults to using
a distance attenuation curve determined by the inverse-square law.
code_samples:
- audio-wiring---custom-distance-attenuation
parameters:
- name: curve
type: Dictionary
default:
summary: ''
returns:
- type: ()
summary: ''
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioEmitter.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioEmitter` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioEmitter` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioEmitter` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioEmitter` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,236 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioEqualizer
type: class
memory_category: Internal
summary: |
Adjusts the frequency content of audio streams.
description: |
`Class.AudioEqualizer` adjusts the frequency content of audio streams. It
provides one **Input** pin and one **Output** pin which can be connected
to/from by `Class.Wire|Wires`. `Class.AudioEqualizer` has 3 frequency bands
whose gain values can be controlled, and the crossover points between bands
can be moved.
code_samples:
- audio-wiring---listener-equalization
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioEqualizer.Bypass
summary: |
Whether audio streams are passed-through unaffected by this effect.
description: |
If `true`, audio streams are passed-through unaffected by this effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEqualizer.Editor
summary: ''
description: ''
code_samples: []
type: boolean
tags:
- NotReplicated
deprecation_message: ''
security:
read: RobloxScriptSecurity
write: RobloxScriptSecurity
thread_safety: ReadSafe
category: State Editing
serialization:
can_load: true
can_save: false
capabilities:
- Audio
- name: AudioEqualizer.HighGain
summary: |
Gain value to be applied to the frequency content of the highest band in
the equalizer.
description: |
Gain value, in decibels, to be applied to the frequency content of the
highest band in the equalizer. Ranges from -80 to 10.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEqualizer.LowGain
summary: |
Gain value to be applied to the frequency content of the lowest band in
the equalizer.
description: |
Gain value, in decibels, to be applied to the frequency content of the
lowest band in the equalizer. Ranges from -80 to 10.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEqualizer.MidGain
summary: |
Gain value to be applied to the frequency content of the middle band in
the equalizer.
description: |
Gain value, in decibels, to be applied to the frequency content of the
middle band in the equalizer. Ranges from -80 to 10.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioEqualizer.MidRange
summary: |
The frequency range of the band influenced by
`Class.AudioEqualizer.MidGain|MidGain`.
description: |
The frequency range in hertz of the band influenced by
`Class.AudioEqualizer.MidGain|MidGain`. The lower value of the range
determines the crossover frequency between the low and mid bands. The
higher value of the range determines the crossover frequency between the
mid and high bands. Both crossover frequencies range from 200 to 20,000.
code_samples: []
type: NumberRange
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioEqualizer:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioEqualizer` has one "Input" pin and one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEqualizer:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioEqualizer:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioEqualizer.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioEqualizer` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioEqualizer` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioEqualizer` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioEqualizer` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,148 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioFader
type: class
memory_category: Internal
summary: |
Adjusts the volume of audio streams.
description: |
`Class.AudioFader` adjusts the volume of audio streams. It provides one
**Input** pin and one **Output** pin which can be connected to/from by
`Class.Wire|Wires`.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioFader.Bypass
summary: |
Whether audio streams are passed-through unaffected by this effect.
description: |
If `true`, audio streams are passed-through unaffected by this effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioFader.Volume
summary: |
Volume level which is multiplied onto the input stream.
description: |
Volume level which is multiplied onto the input stream. Ranges from 0
to 3.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioFader:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioFader` has one "Input" pin and one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioFader:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioFader:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioFader.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioFader` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioFader` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioFader` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioFader` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,267 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioFilter
type: class
memory_category: Internal
summary: |
Adjusts the frequency content of audio streams.
description: |
`Class.AudioFilter` adjusts the frequency content of audio streams. It
provides one **Input** pin and one **Output** pin which can be connected
to/from by `Class.Wire|Wires`. `Class.AudioFilter` uses its
`Class.AudioFilter.FilterType|FilterType`, `Class.AudioFilter.Gain|Gain`, and
`Class.AudioFilter.Q|Q` properties to determine what to do around a particular
cutoff `Class.AudioFilter.Frequency|Frequency`.
code_samples:
- audio-wiring---emitter-filtering
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioFilter.Bypass
summary: |
Whether audio streams are passed-through unaffected by this effect.
description: |
If `true`, audio streams are passed-through unaffected by this effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioFilter.Editor
summary: ''
description: ''
code_samples: []
type: boolean
tags:
- NotReplicated
deprecation_message: ''
security:
read: RobloxScriptSecurity
write: RobloxScriptSecurity
thread_safety: ReadSafe
category: State Editing
serialization:
can_load: true
can_save: false
capabilities:
- Audio
- name: AudioFilter.FilterType
summary: |
The curve type of the band represented by the filter.
description: |
The type of frequency response curve that will be used to filter the audio
signal. Each type of curve affects the frequency content of the audio in
different ways.
code_samples: []
type: AudioFilterType
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioFilter.Frequency
summary: |
The central frequency that the filter acts around.
description: |
The central frequency in hertz of the curve represented by the filter.
Generally, adjusting this value up or down corresponds to a horizontal
shift in the overall frequency curve. Ranges from 20 to 22000.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioFilter.Gain
summary: |
For peaking and shelving filters, controls volume increase or reduction.
description: |
The gain value in decibels used to determine the volume level of the curve
represented by the filter. Only applies when the
`Class.AudioFilter|FilterType` is `Peak`, `LowShelf`, or `HighShelf`.
Ranges from -30 to 30.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioFilter.Q
summary: |
For peaking, lowpass, highpass, bandpass, and notch filters, controls the
selectiveness or resonance.
description: |
The quality value used to determine the slope or resonance of the curve
represented by the filter. Only applies when the
`Class.AudioFilter|FilterType` is `Peak`, `Lowpass[x]dB`, `Highpass[x]dB`,
`Bandpass`, or `Notch`. Ranges from 0.1 to 10.
For `Class.AudioFilter|FilterType` values of
`Enum.AudioFilterType.Lowpass12dB|Lowpass12dB` and
`Enum.AudioFilterType.Highpass12dB|Highpass12dB`, a **Q** value of
`sqrt(2) / 2`, or `0.707`, corresponds to a flat filter at a 12dB/octave
slope.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioFilter:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioFilter` has one "Input" pin and one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioFilter:GetGainAt
summary: |
Returns the magnitude response of the filter at the given frequency.
description: |
Returns the gain value, in decibels, of the frequency response curve
represented by the filter at the given frequency, in hertz. This can be
used to sample the exact shape of the filter in key places or as a whole.
code_samples: []
parameters:
- name: frequency
type: float
default:
summary: |
The frequency, in hertz, to sample.
returns:
- type: float
summary: |
The gain value, in decibels, at the given frequency.
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioFilter:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioFilter:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioFilter.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioFilter` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioFilter` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioFilter` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioFilter` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,191 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioFlanger
type: class
memory_category: Internal
summary: |
Imparts a whooshing or sweeping sound on audio streams.
description: |
`Class.AudioFlanger` imparts a whooshing or sweeping sound on audio streams by
overlaying a delayed copy of the input stream and modulating the pitch of the
copy. It provides one **Input** pin and one **Output** pin which can be
connected to/from by `Class.Wire|Wires`.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioFlanger.Bypass
summary: |
Whether audio streams are passed-through unaffected by this effect.
description: |
If `true`, audio streams are passed-through unaffected by this effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioFlanger.Depth
summary: |
Controls how strong the pitch modulation of the flanger is.
description: |
Controls how strong the pitch modulation of the flanger is. Ranges from 0
to 1 which determines the maximum delay time of the modulated signal. A
value of 1 corresponds to 10 milliseconds of maximum delay; beyond this,
the modulated signal would begin to sound more like an echo than a flange.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioFlanger.Mix
summary: |
Controls the balance of plain input stream to modified output stream.
description: |
Controls the balance of plain input stream to modified output stream.
Ranges from 0 to 1.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioFlanger.Rate
summary: |
Controls the rate of pitch modulations.
description: |
Frequency controlling the rate of pitch modulations, in hertz. Ranges from
0 to 20.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioFlanger:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioFlanger` has one "Input" pin and one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioFlanger:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioFlanger:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioFlanger.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioFlanger` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioFlanger` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioFlanger` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioFlanger` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,159 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioGate
type: class
memory_category: Internal
summary: ''
description: ''
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioGate.Attack
summary: ''
description: ''
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioGate.Bypass
summary: ''
description: ''
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioGate.Release
summary: ''
description: ''
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioGate.Threshold
summary: ''
description: ''
code_samples: []
type: NumberRange
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioGate:GetConnectedWires
summary: ''
description: ''
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioGate:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioGate:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioGate.WiringChanged
summary: ''
description: ''
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: ''
- name: pin
type: string
default:
summary: ''
- name: wire
type: Wire
default:
summary: ''
- name: instance
type: Instance
default:
summary: ''
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,191 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioLimiter
type: class
memory_category: Internal
summary: |
Limits how loud audio streams are allowed to be.
description: |
`AudioLimiter` limits how loud audio streams are allowed to be. Whenever its
input stream exceeds a specified maximum level, the stream's volume is reduced
for a moment. `AudioLimiter` provides a single **Input** pin, and a single
**Output** pin that can be connected to/from by `Class.Wires`.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioLimiter.Bypass
summary: |
Whether audio streams are passed-through unaffected by this effect.
description: |
If `true`, audio streams are passed-through unaffected by this effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioLimiter.Editor
summary: ''
description: ''
code_samples: []
type: boolean
tags:
- NotReplicated
deprecation_message: ''
security:
read: RobloxScriptSecurity
write: RobloxScriptSecurity
thread_safety: ReadSafe
category: State Editing
serialization:
can_load: true
can_save: false
capabilities:
- Audio
- name: AudioLimiter.MaxLevel
summary: |
The maximum volume tolerated.
description: |
The maximum volume, in decibels, that the limiter will allow to pass
through without reduction. Whenever the input stream exceeds
`Class.AudioLimiter.MaxLevel|MaxLevel`, the output stream's volume will be
reduced to compensate. This value ranges from `-12` to `0`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioLimiter.Release
summary: |
The amount of time it takes for previously limited streams to return to
their normal volume.
description: |
The amount of time, in seconds, that it takes for any previously (but not
currently) limited streams to return to their normal volume. This value
ranges from `0.001` to `1`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioLimiter:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioLimiter` has one **Input** pin and one **Output** pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioLimiter:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioLimiter:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioLimiter.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioLimiter` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioLimiter` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioLimiter` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioLimiter` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,433 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioListener
type: class
memory_category: Internal
summary: |
Records an audio stream from its surrounding
`Class.AudioEmitter|AudioEmitters` in the 3D world.
description: |
`Class.AudioListener` records an audio stream from its surrounding
`Class.AudioEmitter|AudioEmitters` in the 3D world. It provides a single
**Output** pin which can be connected to other pins via `Class.Wire|Wires`. If
the parent is an `Class.Attachment`, `Class.Camera`, or `Class.PVInstance`,
the parent's world `Datatype.CFrame` will be used for listening. If the parent
is not one of these classes, the `Class.AudioListener` effectively hears
nothing.
code_samples:
- audio-wiring---camera-listener
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioListener.AcousticSimulationEnabled
summary: ''
description: ''
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Simulation
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioListener.AngleAttenuation
summary: |
Represents how the perceived volume of the emitted sound changes based on
the angle between a `Class.AudioEmitter` and the
`Datatype.CFrame.LookVector|LookVector` associated with the
`Class.AudioListener`.
description: |
Represents a volume-over-angle curve that affects how loudly a
`Class.AudioListener` will hear the `Class.AudioEmitter`, based on the
angle between them and the `Datatype.CFrame.LookVector|LookVector`
associated with the `Class.AudioListener`.
This property is internal and can't be accessed by scripts; it exists to
support replication. See
`Class.AudioListener:SetAngleAttenuation()|SetAngleAttenuation()` for
usage details.
code_samples: []
type: BinaryString
tags: []
deprecation_message: ''
security:
read: RobloxEngineSecurity
write: RobloxEngineSecurity
thread_safety: ReadSafe
category: Listening
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioListener.AudioInteractionGroup
summary: |
Controls which `Class.AudioEmitter|AudioEmitters` are audible to this
`Class.AudioListener`.
description: |
Controls which `Class.AudioEmitter|AudioEmitters` are audible to this
`Class.AudioListener`. Emitters that share an interaction group can be
heard by this Listener.
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Interactions
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioListener.DistanceAttenuation
summary: |
Represents how the perceived volume of emitted sounds change as the
distance between `Class.AudioEmitter|AudioEmitters` and the
`Class.AudioListener` increases.
description: |
Represents a volume-over-distance curve that affects how loudly the
`Class.AudioListener` hears any `Class.AudioEmitter|AudioEmitters`, based
on the distance between them.
This property is internal and can't be accessed by scripts; it exists to
support replication. See
`Class.AudioListener:SetDistanceAttenuation()|SetDistanceAttenuation()`
for usage details.
code_samples: []
type: BinaryString
tags: []
deprecation_message: ''
security:
read: RobloxEngineSecurity
write: RobloxEngineSecurity
thread_safety: ReadSafe
category: Listening
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioListener.PositionOverride
summary: ''
description: ''
code_samples: []
type: Instance
tags: []
deprecation_message: ''
security:
read: RobloxEngineSecurity
write: RobloxEngineSecurity
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioListener.SimulationFidelity
summary: |
Controls how detailed the audio simulation should be for this
`Class.AudioListener`.
description: |
Controls how detailed the audio simulation should be for this
`Class.AudioListener`, similar to `Class.MeshPart.CollisionFidelity` or
`Class.MeshPart.RenderFidelity`.
`Class.AudioListener|AudioListeners` and
`Class.AudioEmitter|AudioEmitters` which disagree on the necessary level
of detail will use the less-detailed option.
code_samples: []
type: AudioSimulationFidelity
tags:
- Deprecated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Simulation
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioListener:GetAngleAttenuation
summary: |
Gets the angle attenuation curve that the `Class.AudioListener` is using,
or an empty table if it's using the default curve.
description: |
Returns a table mapping angle to volume. Keys are numbers between `0` and
`180` (inclusive), while values are numbers between `0` and `1`
(inclusive) describing how volume attenuates depending on direction. This
method returns an empty table if the default angle attenuation curve is
being used.
code_samples: []
parameters: []
returns:
- type: Dictionary
summary: |
Table mapping angle to volume, as described above.
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioListener:GetAudibilityFor
summary: |
Calculates how audible an `Class.AudioEmitter` is for this listener
description: |
Calculates how audible an `Class.AudioEmitter` is for this listener. The
resulting volume, ranging from `0` to `1`, accounts for distance and angle
attenuation on both the emitter and listener.
code_samples: []
parameters:
- name: emitter
type: AudioEmitter
default:
summary: ''
returns:
- type: float
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioListener:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioListener` has one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioListener:GetDistanceAttenuation
summary: |
Gets the distance attenuation curve that the `Class.AudioListener` is
using, or an empty table if it's using the default curve.
description: |
Returns a table mapping distance to volume. Keys are numbers greater than
or equal to 0, while values are numbers between 0 and 1 (inclusive)
describing how volume attenuates over distance. This method returns an
empty table if the default distance attenuation curve is being used.
code_samples: []
parameters: []
returns:
- type: Dictionary
summary: ''
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioListener:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioListener:GetInteractingEmitters
summary: |
Lists all `Class.AudioEmitter|AudioEmitters` that this listener is capable
of hearing.
description: |
Returns an array of `Class.AudioEmitter|AudioEmitters` that share an
`Class.AudioListener.AudioInteractionGroup|AudioInteractionGroup` with the
listener.
code_samples: []
parameters: []
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioListener:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioListener:SetAngleAttenuation
summary: |
Sets the angle attenuation curve that the `Class.AudioListener` should
use, or uses a constant curve of volume `1` if none is provided.
description: |
Sets a volume-over-angle curve that affects how loudly a
`Class.AudioListener` will hear the `Class.AudioEmitter`, based on the
angle between them and the `Datatype.CFrame.LookVector|LookVector`
associated with the `Class.AudioListener`.
The curve is represented by a table mapping angle keys to volume values.
Keys are expected to be unique numbers between `0` and `180` (inclusive),
while values are expected to be numbers between `0` and `1` (inclusive).
Tables containing up to 400 key-value pairs are supported.
The volume of a `Class.AudioEmitter` from the perspective of the
`Class.AudioListener` at an angle `a` is determined by linearly
interpolating between the volume levels for the points on the curve whose
angle values are directly above and below `a`. If there is either no point
below `a` or no point above `a`, the volume level of the other point is
chosen. Essentially, the curve is a sequence of points connected by
straight lines, and beyond its left and right endpoints the curve extends
outward at their respective volume levels.
This volume will be multiplied with the volumes from all other attenuation
curves (including the ones on the sending `Class.AudioEmitter`) to obtain
the final audibility.
If the table is empty or `nil`, the `Class.AudioEmitter` defaults to using
an angle attenuation curve with the constant volume value of `1`.
code_samples:
- audio-wiring---directional-listener
parameters:
- name: curve
type: Dictionary
default:
summary: ''
returns:
- type: ()
summary: ''
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioListener:SetDistanceAttenuation
summary: |
Sets the distance attenuation curve that the `Class.AudioListener` should
use, or uses an inverse rolloff curve if none is provided.
description: |
Sets a volume-over-distance curve that affects how loudly the
`Class.AudioListener` will hear any `Class.AudioEmitter|AudioEmitters`,
based on the distance between them.
The curve is represented by a table mapping distance keys to volume
values. Keys are expected to be unique numbers greater than or equal to 0,
while values are expected to be numbers between 0 and 1 (inclusive).
Tables containing up to 400 key-value pairs are supported.
The volume of a `Class.AudioEmitter` from the perspective of the
`Class.AudioListener` at a distance `d` is determined by linearly
interpolating between the volume levels for the points on the curve whose
distance values are directly above and below `d`. If there is either no
point below `d` or no point above `d`, the volume level of the other point
is chosen. Essentially, the curve is a sequence of points connected by
straight lines, and beyond its left and right endpoints the curve extends
outward infinitely at their respective volume levels.
This volume will be multiplied with the volumes from all other attenuation
curves (including the ones on the sending `Class.AudioEmitter`) to obtain
the final audibility.
If the table is empty or `nil`, the `Class.AudioListener` defaults to
applying a constant volume of 1 everywhere.
code_samples: []
parameters:
- name: curve
type: Dictionary
default:
summary: ''
returns:
- type: ()
summary: ''
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioListener.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioListener` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioListener` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioListener` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioListener` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,27 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioPages
type: class
memory_category: Instances
summary: |
A special version of the `Class.Pages` class returned by
`Class.AssetService:SearchAudioAsync()`.
description: |
A special version of the `Class.Pages` class returned by
`Class.AssetService:SearchAudioAsync()`. See the following code sample for
reference on the returned data format.
code_samples:
- printing-search-audio-result-titles
inherits:
- Pages
descendants: []
tags:
- NotCreatable
- NotReplicated
deprecation_message: ''
properties: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,168 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioPitchShifter
type: class
memory_category: Internal
summary: |
Adjusts the perceived pitch of audio streams.
description: |
`Class.AudioPitchShifter` adjusts the perceived pitch of audio streams. It
provides one **Input** pin and one **Output** pin which can be connected
to/from by `Class.Wire|Wires`. `Class.AudioPitchShifter` performs its
modifications in the frequency domain and may introduce artifacts with extreme
pitch changes.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioPitchShifter.Bypass
summary: |
Whether audio streams are passed-through unaffected by this effect.
description: |
If `true`, audio streams are passed-through unaffected by this effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPitchShifter.Pitch
summary: |
Pitch modification to be multiplied by the pitch of the input stream.
description: |
Pitch modification to be multiplied by the pitch of the input stream.
Ranges from 0.5 to 2.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPitchShifter.WindowSize
summary: ''
description: ''
code_samples: []
type: AudioWindowSize
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioPitchShifter:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioPitchShifter` has one "Input" pin and one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioPitchShifter:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioPitchShifter:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioPitchShifter.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioPitchShifter` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioPitchShifter` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioPitchShifter` that the `Class.Wire`
targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioPitchShifter` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,574 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioPlayer
type: class
memory_category: Internal
summary: |
Used to play audio assets.
description: |
`Class.AudioPlayer` is used to play audio assets. It provides a single
**Output** pin which can be connected to other pins via `Class.Wire|Wires`.
code_samples:
- audio-wiring---device-output
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioPlayer.Asset
summary: |
The asset to be loaded into the `Class.AudioPlayer`.
description: |
The asset to be loaded into the `Class.AudioPlayer`. If
`Class.AudioPlayer.AutoLoad|AutoLoad` is `true`, the asset loads
immediately once this property is assigned. When loading is complete,
`Class.AudioPlayer.IsReady|IsReady` becomes `true`.
code_samples: []
type: ContentId
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPlayer.AssetId
summary: |
The asset to be loaded into the `Class.AudioPlayer`.
description: |
The asset to be loaded into the `Class.AudioPlayer`. If
`Class.AudioPlayer.AutoLoad|AutoLoad` is `true`, the asset loads
immediately once this property is assigned. When loading is complete,
`Class.AudioPlayer.IsReady|IsReady` becomes `true`.
code_samples: []
type: string
tags:
- Hidden
- NotReplicated
- Deprecated
deprecation_message: |
This property is deprecated; use `Class.AudioPlayer.Asset|Asset` instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: true
can_save: false
capabilities:
- Audio
- name: AudioPlayer.AudioContent
summary: ''
description: ''
code_samples: []
type: Content
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPlayer.AutoLoad
summary: |
Controls whether `Class.AudioPlayer.Asset|Asset` loads automatically once
assigned.
description: |
Controls whether `Class.AudioPlayer.Asset|Asset` loads automatically once
assigned. If `false`, the asset will load upon the first attempt to play.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPlayer.AutoPlay
summary: |
Denotes whether this `Class.AudioPlayer` starts playing as soon as it
spawns in for the first time.
description: |
Denotes whether this `Class.AudioPlayer` starts playing as soon as it
enters the `Class.DataModel` for the first time. This only applies to
`Class.AudioPlayer|AudioPlayers` that are created or deserialized locally,
and does not apply to `Class.AudioPlayer|AudioPlayers` generated via
replication. This property is primarily used at edit time in Studio to
have an `Class.AudioPlayer` begin when entering a play session.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Playback
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPlayer.IsMutedForCapture
summary: ''
description: ''
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: RobloxScriptSecurity
write: RobloxScriptSecurity
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPlayer.IsPlaying
summary: |
Denotes whether this `Class.AudioPlayer` is currently playing.
description: |
Denotes whether this `Class.AudioPlayer` is currently playing. This
property is read-only, but replicates. To play and stop an
`Class.AudioPlayer` at runtime, use the `Class.AudioPlayer:Play()|Play()`
and `Class.AudioPlayer:Stop()|Stop()` methods.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: RobloxEngineSecurity
thread_safety: ReadSafe
category: Playback
serialization:
can_load: false
can_save: false
capabilities:
- Audio
- name: AudioPlayer.IsReady
summary: |
Denotes whether this `Class.AudioPlayer` is loaded, buffered, and ready to
play.
description: |
Denotes whether this `Class.AudioPlayer` is loaded, buffered, and ready to
play. Although uncommon, `Class.AudioPlayer|AudioPlayers` may have their
assets unloaded at runtime if there is extreme memory pressure, in which
case `Class.AudioPlayer.IsReady|IsReady` will become false.
code_samples: []
type: boolean
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: false
can_save: true
capabilities:
- Audio
- name: AudioPlayer.Looping
summary: |
Controls whether this `Class.AudioPlayer` loops.
description: |
Controls whether this `Class.AudioPlayer` loops when exceeding the end of
its `Class.AudioPlayer.TimeLength|TimeLength`,
`Class.AudioPlayer.LoopRegion|LoopRegion`, or
`Class.AudioPlayer.PlaybackRegion|PlaybackRegion`.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Playback
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPlayer.LoopRegion
summary: |
A range, in seconds, denoting a desired loop start and loop end within the
`Class.AudioPlayer.PlaybackRegion|PlaybackRegion` of this
`Class.AudioPlayer`.
description: |
A range, in seconds, denoting a desired loop start and loop end within the
`Class.AudioPlayer.PlaybackRegion|PlaybackRegion` of this
`Class.AudioPlayer`.
If the `Class.AudioPlayer.LoopRegion|LoopRegion` minimum is **greater**
than the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` minimum, the
loop starts from the `Class.AudioPlayer.LoopRegion|LoopRegion` minimum.
If the `Class.AudioPlayer.LoopRegion|LoopRegion` minimum is **less** than
the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` minimum, the loop
starts from the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` minimum.
If the `Class.AudioPlayer.LoopRegion|LoopRegion` maximum is **greater**
than the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` maximum, the
loop ends at the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion`
maximum.
If the `Class.AudioPlayer.LoopRegion|LoopRegion` maximum is **less** than
the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` maximum, the loop
ends at exactly the `Class.AudioPlayer.LoopRegion|LoopRegion` maximum.
If the `Class.AudioPlayer.LoopRegion|LoopRegion` minimum **equals** the
`Class.AudioPlayer.LoopRegion|LoopRegion` maximum, the `Class.AudioPlayer`
uses the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` property
instead.
code_samples: []
type: NumberRange
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Regions
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPlayer.PlaybackRegion
summary: |
Range in seconds denoting a desired start time (minimum) and stop time
(maximum) within the `Class.AudioPlayer.TimeLength|TimeLength`.
description: |
Range in seconds denoting a desired start time (minimum) and stop time
(maximum) within the `Class.AudioPlayer.TimeLength|TimeLength`.
If the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` minimum is
**greater** than 0, the sound begins playing from the
`Class.AudioPlayer.PlaybackRegion|PlaybackRegion` minimum time.
If the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` minimum is
**less** than 0, the sound begins playing from 0.
If the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` maximum is
**greater** than the `Class.AudioPlayer.TimeLength|TimeLength`, the sound
stops at `Class.AudioPlayer.TimeLength|TimeLength`.
If the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` maximum is
**less** than the `Class.AudioPlayer.TimeLength|TimeLength`, the sound
stops at exactly the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion`
maximum.
If the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` minimum
**equals** the `Class.AudioPlayer.PlaybackRegion|PlaybackRegion` maximum,
the sound plays in its entirety.
code_samples: []
type: NumberRange
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Regions
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPlayer.PlaybackSpeed
summary: |
Controls how quickly the asset will be played, which controls its pitch.
description: |
Multiplier controlling how quickly the asset will be played, directly
controlling its perceived pitch. Ranges from 0 to 20.
code_samples: []
type: double
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Playback
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPlayer.TimeLength
summary: |
Denotes the length of the loaded asset.
description: |
Denotes the length of the loaded `Class.AudioPlayer.Asset|Asset` in
seconds.
code_samples: []
type: double
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: false
can_save: true
capabilities:
- Audio
- name: AudioPlayer.TimePosition
summary: |
Tracks the current position of the playhead within the asset.
description: |
Tracks and controls the current position of the playhead within the
`Class.AudioPlayer.Asset|Asset`, in seconds.
code_samples: []
type: double
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Playback
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioPlayer.Volume
summary: |
Controls how loudly the asset will be played.
description: |
Volume level which is multiplied onto the output audio stream, controlling
how loudly the asset will be played. Ranges from 0 to 3.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioPlayer:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioPlayer` has one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioPlayer:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioPlayer:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioPlayer:GetWaveformAsync
summary: ''
description: ''
code_samples: []
parameters:
- name: timeRange
type: NumberRange
default:
summary: ''
- name: samples
type: int
default:
summary: ''
returns:
- type: Array
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioPlayer:Play
summary: |
Plays the `Class.AudioPlayer` from wherever its
`Class.AudioPlayer.TimePosition|TimePosition` is.
description: |
Plays the `Class.AudioPlayer` from wherever its
`Class.AudioPlayer.TimePosition|TimePosition` is. Replicates from server
to client.
code_samples: []
parameters: []
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioPlayer:Stop
summary: |
Stops the `Class.AudioPlayer` wherever its
`Class.AudioPlayer.TimePosition|TimePosition` is.
description: |
Stops the `Class.AudioPlayer` wherever its
`Class.AudioPlayer.TimePosition|TimePosition` is. Replicates from server
to client.
code_samples: []
parameters: []
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioPlayer.Ended
summary: |
Fires when the `Class.AudioPlayer` has completed playback and stopped.
description: |
Fires after the `Class.AudioPlayer` has completed playback and stopped.
Note this event will **not** fire for audio with
`Class.AudioPlayer.Looped|Looped` set to `true` since it continues playing
upon reaching its end. This event will also **not** fire when the audio is
stopped before playback has completed; for this, use
`Class.AudioPlayer:GetPropertyChangedSignal()` on the
`Class.AudioPlayer.IsPlaying|IsPlaying` property.
This event is often used to destroy an `Class.AudioPlayer` when it has
completed playback.
code_samples: []
parameters: []
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
- name: AudioPlayer.Looped
summary: |
Fires when the `Class.AudioPlayer` loops.
description: |
Event that fires after the `Class.AudioPlayer` loops. This happens when
the audio reaches the end of its content (or the end of the
`Class.AudioPlayer.LoopRegion|LoopRegion` if it is active) and
`Class.AudioPlayer.Looping|Looping` is `true`.
This event does **not** fire if the audio is looped manually by changing
its `Class.AudioPlayer.TimePosition|TimePosition`.
code_samples: []
parameters: []
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
- name: AudioPlayer.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioPlayer` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioPlayer` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioPlayer` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioPlayer` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,243 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioRecorder
type: class
memory_category: Internal
summary: |
Records audio streams in-experience.
description: |
**This API is in development and is not available yet.**
`AudioRecorder` records audio streams in-experience with a fixed time limit of
60 seconds. The results can be loaded into an `Class.AudioPlayer` for
playback.
At this time, `Class.AudioDeviceInput` cannot be recorded. The
`Class.AudioRecorder:GetUnrecordableInstancesAsync()|GetUnrecordableInstancesAsync()`
method can be used to check specifically which instances aren't recordable.
code_samples:
- audio-recorder
inherits:
- Instance
descendants: []
tags:
- NotBrowsable
deprecation_message: ''
properties:
- name: AudioRecorder.IsRecording
summary: ''
description: |
Returns whether the `AudioRecorder` is currently recording.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: RobloxEngineSecurity
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioRecorder.TimeLength
summary: ''
description: |
Returns the current length of the recording in seconds.
code_samples: []
type: double
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: true
capabilities:
- Audio
methods:
- name: AudioRecorder:CanRecordAsync
summary: ''
description: |
Returns whether the `AudioRecorder` can currently record. For instance,
this will return `false` if the current recording data has reached the
recording time limit. To clear the recording, use
`Class.AudioRecorder:Clear()|Clear()`.
code_samples: []
parameters: []
returns:
- type: boolean
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioRecorder:Clear
summary: ''
description: |
Clears out the recording from the `AudioRecorder`.
code_samples: []
parameters: []
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioRecorder:GetConnectedWires
summary: ''
description: ''
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioRecorder:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioRecorder:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioRecorder:GetTemporaryContent
summary: ''
description: |
Returns recorded content that can be played back with `Class.AudioPlayer`.
The content retrieved from this method is only valid in the current
session.
code_samples: []
parameters: []
returns:
- type: Content
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioRecorder:GetUnrecordableInstancesAsync
summary: ''
description: |
Traverses the audio graph, starting from this recorder's inputs, to find
unrecordable instances. Currently, `Class.AudioDeviceInput` is not
recordable.
code_samples: []
parameters: []
returns:
- type: Instances
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioRecorder:RecordAsync
summary: ''
description: |
If `Class.AudioRecorder:CanRecordAsync()|CanRecordAsync()` returns `true`,
recording begins. If recording cannot begin, this method produces an
error.
code_samples: []
parameters: []
returns:
- type: ()
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioRecorder:Stop
summary: ''
description: |
Stops recording.
code_samples: []
parameters: []
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioRecorder.WiringChanged
summary: ''
description: ''
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: ''
- name: pin
type: string
default:
summary: ''
- name: wire
type: Wire
default:
summary: ''
- name: instance
type: Instance
default:
summary: ''
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,376 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioReverb
type: class
memory_category: Internal
summary: |
Reverberates audio streams.
description: |
`Class.AudioReverb` reverberates audio streams, modeling the natural echoes of
a room or enclosed space. It provides one **Input** pin and one **Output** pin
which can be connected to/from by `Class.Wire|Wires`.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioReverb.Bypass
summary: |
Whether audio streams are passed-through unaffected by this effect.
description: |
If `true`, audio streams are passed-through unaffected by this effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.DecayRatio
summary: |
Controls how quickly high frequency sound decays compared to the overall
reverb.
description: |
A ratio of high frequency decay time to total decay time, where high
frequencies are determined to be anything above
`Class.AudioReverb.ReferenceFrequency|ReferenceFrequency`, in hertz.
Ranges from 0.1 to 1.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.DecayTime
summary: |
Controls how long it takes for the reverb to dissipate.
description: |
Time, in seconds, that it will take for the reverb to fully decay. Ranges
from 0.1 to 20.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.Density
summary: |
Controls how many reflections are generated.
description: |
A number controlling how many reflections are generated. Ranges from 0
to 1.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.Diffusion
summary: |
Controls how smooth and reflective the simulated surfaces are.
description: |
A number controlling how smooth and reflective the reverb's simulated
surfaces are. Ranges from 0 to 1.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.DryLevel
summary: |
Gain level determining how loud the original, unaltered audio stream will
be.
description: |
Gain level, in decibels, determining how loud the original, unaltered
audio stream will be. Ranges from -80 to 20.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.EarlyDelayTime
summary: |
Controls the amount of time before reverberation begins .
description: |
Time, in seconds, before any reverberation begins. Ranges from 0 to 0.3.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.HighCutFrequency
summary: |
Frequency above which sound is filtered out of the reverb.
description: |
Frequency, in hertz, which acts as a cutoff for a low-pass filter. Any
audio that has a higher frequency than this is excluded from the reverb.
Ranges from 20 to 20,000.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.LateDelayTime
summary: |
Time, following early delays, before diffuse reverberations begin.
description: |
Time in seconds, following early delays, before diffuse reverberations
begin. Ranges from 0 to 0.1.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.LowShelfFrequency
summary: |
Frequency below which audio can be boosted or reduced in the reverb.
description: |
Frequency, in hertz, below which audio can be boosted or reduced in the
reverb via `Class.AudioReverb.LowShelfGain|LowShelfGain`. Ranges from 20
to 20,000.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.LowShelfGain
summary: |
Controls the presence of low frequency content in the reverb.
description: |
Gain level, in decibels, that controls the presence of low frequency
content in the reverb. Ranges from -36 to 12.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.ReferenceFrequency
summary: |
Frequency that separates low frequency decay speeds from high frequency
decay speeds.
description: |
Frequency, in hertz, that separates low frequency decay speeds from high
frequency decay speeds. This is used by
`Class.AudioReverb.DecayRatio|DecayRatio` to determine whether low or high
frequencies decay faster. Ranges from 20 to 20,000.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioReverb.WetLevel
summary: |
Gain level determining how loud the reverberated stream will be.
description: |
Gain level, in decibels, determining how loud the reverberated stream will
be. Ranges from -80 to 20.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioReverb:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioReverb` has one "Input" pin and one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioReverb:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioReverb:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioReverb.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioReverb` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioReverb` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioReverb` that the `Class.Wire` targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioReverb` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,198 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioSearchParams
type: class
memory_category: Instances
summary: |
Instance to be passed to `Class.AssetService:SearchAudioAsync()` to search for
audio assets.
description: |
Instance to be passed to `Class.AssetService:SearchAudioAsync()` to search for
audio assets.
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotReplicated
deprecation_message: ''
properties:
- name: AudioSearchParams.Album
summary: |
The album the audio asset belongs to.
description: |
Searches for audio which belongs to this album. Needs to be an exact
match.
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- AssetRead
- name: AudioSearchParams.Artist
summary: |
The artist that created the audio asset.
description: |
Searches for audio which was created by this artist. Needs to be an exact
match.
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- AssetRead
- name: AudioSearchParams.AudioSubType
summary: ''
description: ''
code_samples: []
type: AudioSubType
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- AssetRead
- name: AudioSearchParams.AudioSubtype
summary: |
The subtype of the audio asset.
description: |
Searches for audio with this subtype, corresponding to the
`Enum.AudioSubType` enum. Defaults to `Enum.AudioSubType.Music`.
code_samples: []
type: AudioSubType
tags:
- NotReplicated
- Deprecated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: false
capabilities:
- AssetRead
- name: AudioSearchParams.MaxDuration
summary: |
The maximum duration of the audio asset.
description: |
Searches for audio with a duration less than or equal to this value.
code_samples: []
type: int
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- AssetRead
- name: AudioSearchParams.MinDuration
summary: |
The minimum duration of the audio asset.
description: |
Searches for audio with a duration greater than or equal to this value.
code_samples: []
type: int
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- AssetRead
- name: AudioSearchParams.SearchKeyword
summary: |
The keyword to search for.
description: |
Searches for audio relevant to this keyword.
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- AssetRead
- name: AudioSearchParams.Tag
summary: |
The tag of the audio asset.
description: |
Searches for audio which has this tag. Needs to be an exact match.
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- AssetRead
- name: AudioSearchParams.Title
summary: |
The title of the audio asset.
description: |
Searches for audio with this title. Needs to be an exact match.
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- AssetRead
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,155 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioSpeechToText
type: class
memory_category: Internal
summary: |
Converts spoken audio into text.
description: |
`Class.AudioSpeechToText` is used to convert speech audio into text. This
class provides a single **Input** pin that can be connected to other pins via
`Class.Wire|Wires`.
Roblox uses the following formula to throttle requests for this API based on
the number of players in your experience:
`max requests per minute per experience = 1 + (5 * number_of_concurrent_users)`.
For more information, see
[Speech-to-text](../../../audio/objects.md#speech-to-text).
code_samples:
- audio-wiring---speech-to-text
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioSpeechToText.Enabled
summary: |
Whether the `Class.AudioSpeechToText` object is enabled for processing
input audio into text.
description: |
Whether the `Class.AudioSpeechToText` object is enabled for processing
input audio into text.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioSpeechToText.Text
summary: |
The text resulting from the conversion of speech audio.
description: |
The text resulting from the conversion of speech audio.
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioSpeechToText.VoiceDetected
summary: |
Whether the `Class.AudioSpeechToText` object is detecting speech in the
incoming audio signal.
description: |
Whether the `Class.AudioSpeechToText` object is detecting speech in the
incoming audio signal. `Class.AudioSpeechToText` records the speech audio
until it ceases or until a maximum amount of 10 seconds has been recorded.
Then it converts the recorded audio into text.
code_samples: []
type: boolean
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: false
can_save: true
capabilities:
- Audio
methods:
- name: AudioSpeechToText:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioSpeechToText` has one input pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioSpeechToText.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioSpeechToText` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioSpeechToText` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioSpeechToText` that the `Class.Wire`
targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioSpeechToText` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,463 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioTextToSpeech
type: class
memory_category: Internal
summary: |
Plays text as speech audio.
description: |
`Class.AudioTextToSpeech` is used to play text as speech audio. It provides a
single **Output** pin which can be connected to other pins via
`Class.Wire|Wires`.
Roblox uses the following formula to throttle requests for this API based on
the number of players in your experience:
`max requests per minute per experience = 1 + (6 * number_of_concurrent_users)`.
You can purchase additional usage using
[Extended Services](../../../cloud-services/extended-services.md).
For a more in-depth look, see
[Text-to-speech](../../../audio/objects.md#text-to-speech).
code_samples:
- audio-wiring---text-to-speech
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioTextToSpeech.IsLoaded
summary: |
Denotes whether the `Class.AudioTextToSpeech` object is loaded, buffered,
and ready to play.
description: |
Denotes whether the `Class.AudioTextToSpeech` object is loaded, buffered,
and ready to play. Although uncommon, `Class.AudioTextToSpeech` objects
may have their assets unloaded at runtime if there is extreme memory
pressure, in which case `Class.AudioTextToSpeech.IsLoaded|IsLoaded` will
become false.
code_samples: []
type: boolean
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: false
can_save: true
capabilities:
- Audio
- name: AudioTextToSpeech.IsPlaying
summary: |
Denotes whether the `Class.AudioTextToSpeech` object is currently playing.
description: |
Denotes whether the `Class.AudioTextToSpeech` object is currently playing.
This property is read-only, but replicates. To play and stop an
`Class.AudioTextToSpeech` object at runtime, use the
`Class.AudioTextToSpeech:Play()|Play()` and
`Class.AudioTextToSpeech:Pause()|Pause()` methods.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: RobloxEngineSecurity
thread_safety: ReadSafe
category: Playback
serialization:
can_load: false
can_save: false
capabilities:
- Audio
- name: AudioTextToSpeech.Looping
summary: |
Controls whether the `Class.AudioTextToSpeech` object loops.
description: |
Controls whether the `Class.AudioTextToSpeech` object loops when exceeding
the end of its `Class.AudioTextToSpeech.TimeLength|TimeLength`.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Playback
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTextToSpeech.Pitch
summary: |
Controls the pitch of the generated speech audio, which will be
independent of its speed.
description: |
A value in musical semitones. The pitch of the generated speech audio is
shifted from its default value by `AudioTextToSpeech.Pitch` semitones.
Ranges from -12.0 to 12.0.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTextToSpeech.PlaybackSpeed
summary: |
Controls how quickly the speech audio will be played, which controls its
pitch.
description: |
Multiplier controlling how quickly the speech audio will be played,
directly controlling its perceived pitch. Ranges from 0 to 20.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Playback
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTextToSpeech.Speed
summary: |
Controls the speed of the generated speech audio, which will be
independent of its pitch.
description: |
Multiplier controlling the speed of the generated speech audio. Ranges
from 0.5 to 2.0.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTextToSpeech.Text
summary: |
The text to be converted into speech audio by `Class.AudioTextToSpeech`.
description: |
The text to be converted into speech audio by `Class.AudioTextToSpeech`.
The text has a maximum length of 300 characters.
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTextToSpeech.TimeLength
summary: |
Denotes the length of the generated speech audio.
description: |
Denotes the generated speech audio in seconds.
code_samples: []
type: double
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: false
can_save: true
capabilities:
- Audio
- name: AudioTextToSpeech.TimePosition
summary: |
Tracks the current position of the playhead within the generated speech
audio.
description: |
Tracks and controls the current position of the playhead within the
generated speech audio, in seconds.
code_samples: []
type: double
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Playback
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTextToSpeech.VoiceId
summary: |
The voice style to be used by `Class.AudioTextToSpeech`.
description: |
The voice style to be used by`Class.AudioTextToSpeech`. A list of
available voices and their corresponding VoiceIds can be found in the
[text-to-speech guide](../../../audio/objects.md#text-to-speech).
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Asset
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTextToSpeech.Volume
summary: |
Controls how loudly the generated speech audio will be played.
description: |
Volume level which is multiplied onto the output audio stream, controlling
how loudly the generated speech audio will be played. Ranges from 0 to 3.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioTextToSpeech:GetConnectedWires
summary: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin.
description: |
Returns an array of `Class.Wire|Wires` that are connected to the specified
pin. `Class.AudioTextToSpeech` has one "Output" pin.
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioTextToSpeech:GetWaveformAsync
summary: ''
description: ''
code_samples: []
parameters:
- name: timeRange
type: NumberRange
default:
summary: ''
- name: samples
type: int
default:
summary: ''
returns:
- type: Array
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioTextToSpeech:LoadAsync
summary: |
Generates speech audio.
description: |
A blocking call that begins the generation of speech audio based on the
current parameters. It will yield until the speech generation either
completes or fails. Status is returned by an AssetFetchStatus value.
code_samples: []
parameters: []
returns:
- type: AssetFetchStatus
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioTextToSpeech:Pause
summary: |
Pauses the `Class.AudioTextToSpeech` object wherever its
`Class.AudioTextToSpeech.TimePosition|TimePosition` is.
description: |
Pauses the `Class.AudioTextToSpeech` object wherever its
`Class.AudioTextToSpeech.TimePosition|TimePosition` is. Replicates from
server to client.
code_samples: []
parameters: []
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioTextToSpeech:Play
summary: |
Plays the `Class.AudioTextToSpeech` from wherever its
`Class.AudioTextToSpeech.TimePosition|TimePosition` is.
description: |
Plays the `Class.AudioTextToSpeech` from wherever its
`Class.AudioTextToSpeech.TimePosition|TimePosition` is. Replicates from
server to client.
code_samples: []
parameters: []
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioTextToSpeech:Unload
summary: |
Unload the generated speech audio.
description: |
Frees resources by unloading the generated speech audio.
code_samples: []
parameters: []
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioTextToSpeech.Ended
summary: |
Fires when the `Class.AudioTextToSpeech` object has completed playback and
paused.
description: |
Fires after the `Class.AudioTextToSpeech` object has completed playback
and paused. Note this event will **not** fire for audio with
`Class.AudioTextToSpeech.Looped|Looped` set to `true` since it continues
playing upon reaching its end. This event will also **not** fire when the
audio is paused before playback has completed; for this, use
`Class.AudioTextToSpeech:GetPropertyChangedSignal()` on the
`Class.AudioTextToSpeech.IsPlaying|IsPlaying` property.
This event may be used to destroy an `Class.AudioTextToSpeech` object when
it has completed playback.
code_samples: []
parameters: []
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
- name: AudioTextToSpeech.Looped
summary: |
Fires when the `Class.AudioTextToSpeech` object loops.
description: |
Event that fires after the `Class.AudioTextToSpeech` object loops. This
happens when the audio reaches the end of its content and
`Class.AudioTextToSpeech.Looping|Looping` is `true`.
This event does **not** fire if the audio is looped manually by changing
its `Class.AudioTextToSpeech.TimePosition|TimePosition`.
code_samples: []
parameters: []
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
- name: AudioTextToSpeech.WiringChanged
summary: |
Fires when another instance is connected to or disconnected from the
`Class.AudioTextToSpeech` via a `Class.Wire`.
description: |
Event that fires after a `Class.Wire` becomes connected or disconnected,
and that `Class.Wire` is now or was previously connected to a pin on the
`Class.AudioTextToSpeech` and to some other wirable instance.
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: |
Whether the instance got connected or disconnected.
- name: pin
type: string
default:
summary: |
The pin on the `Class.AudioTextToSpeech` that the `Class.Wire`
targets.
- name: wire
type: Wire
default:
summary: |
The `Class.Wire` between the `Class.AudioTextToSpeech` and the other
instance.
- name: instance
type: Instance
default:
summary: |
The other instance that is or was connected through the `Class.Wire`.
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,236 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AudioTremolo
type: class
memory_category: Internal
summary: |
Creates a trembling effect on a sound by varying the volume of the sound up
and down.
description: |
`Class.AudioTremolo` creates a trembling effect on a sound by varying the
volume of the sound up and down. It provides one **Input** pin and one
**Output** pin which can be connected to/from by `Class.Wire|Wires`.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: AudioTremolo.Bypass
summary: ''
description: ''
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTremolo.Depth
summary: |
Controls how much the volume will raise and lower.
description: |
Controls how much the volume will raise and lower, ranging between `0` and
`1` with a default of `1`. If set to `0`, the volume will not oscillate at
all.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTremolo.Duty
summary: |
Controls how long the effect will be active during one volume oscillation.
description: |
Controls how long the effect will be active during one volume oscillation
in the range of `0` (0%) to `1` (100%). Default is `0.5`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTremolo.Frequency
summary: |
Sets how often the effect will oscillate the volume.
description: |
Sets how often the effect will oscillate the volume, measured in Hz, in
the range of `0.1` to `20`. Default is `5`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTremolo.Shape
summary: |
Controls the shape of the low frequency oscillations.
description: |
Morphs the LFO (low frequency oscillation) shape in a range of `0` to `1`
where `0` is triangle and `1` is sine. Default is `0`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTremolo.Skew
summary: |
Time-skews the low frequency oscillations cycle.
description: |
Controls the time-skewing of the LFO (low frequency oscillation) cycle in
the range of `-1` to `1`. No skewing occurs at `0`, with more extremal
forwards and backwards skewing towards `+1`/`-1`. Default is `0`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
- name: AudioTremolo.Square
summary: |
Flatness of the low frequency oscillations shape.
description: |
Determines the squareness of the oscillations in the range of `0` to `1`.
The original shape is retained when `0` and the shape flattens more as the
value increases. Default is `0`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Audio
methods:
- name: AudioTremolo:GetConnectedWires
summary: ''
description: ''
code_samples: []
parameters:
- name: pin
type: string
default:
summary: ''
returns:
- type: Instances
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioTremolo:GetInputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
- name: AudioTremolo:GetOutputPins
summary: ''
description: ''
code_samples: []
parameters: []
returns:
- type: Array
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Audio
events:
- name: AudioTremolo.WiringChanged
summary: ''
description: ''
code_samples: []
parameters:
- name: connected
type: boolean
default:
summary: ''
- name: pin
type: string
default:
summary: ''
- name: wire
type: Wire
default:
summary: ''
- name: instance
type: Instance
default:
summary: ''
tags: []
deprecation_message: ''
security: None
capabilities:
- Audio
callbacks: []

View file

@ -0,0 +1,979 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: AvatarCreationService
type: class
memory_category: Instances
summary: |
A service to support developer avatar creators.
description: |
`AvatarCreationService` is a service that supports developer avatar creators,
providing methods that support the prompting of avatar creation from within
experiences.
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotCreatable
- Service
deprecation_message: ''
properties: []
methods:
- name: AvatarCreationService:AutoSetupAvatarAsync
summary: |
Automatically sets up a custom `Class.Model` as an avatar asset.
description: |
Automatically sets up a custom `Class.Model` as an avatar asset. This
method returns a `string` generation ID which can be passed to
`Class.AvatarCreationService:LoadGeneratedAvatarAsync()|LoadGeneratedAvatarAsync()`
to load the generated avatar and return a `Class.HumanoidDescription` with
all the generated instances and properties. The load method can be called
on both the server and client, allowing the generated avatar to be loaded
in both places (on the client for previewing, and on the server for saving
the generated avatar to the player's inventory using
`Class.AvatarCreationService:PromptCreateAvatarAsync()|PromptCreateAvatarAsync()`).
Auto-setup has specific model requirements and accepts certain
configurations of models. For more information, see
[Auto-setup requirements](../../../avatar-setup/auto-setup-requirements.md).
In addition to the above requirements, the input model must use
`Class.EditableMesh` and `Class.EditableImage` objects for all mesh and
texture assets.
code_samples:
- AvatarCreationService-AutoSetupAvatarAsync
parameters:
- name: player
type: Player
default:
summary: |
The `Class.Player` that the avatar is being set up for.
- name: model
type: Dictionary
default:
summary: |
The humanoid `Class.Model` that will be set up as an avatar.
- name: progressCallback
type: Function?
default:
summary: |
Optional callback function that will be invoked periodically with a
progressInfo table with the overall progress (from 0 to 1). Type:
`(progressInfo: { Progress: number }) -> ()`
returns:
- type: string
summary: |
A unique identifier for the generated avatar.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:GenerateAvatar2DPreviewAsync
summary: |
Creates a 2D avatar preview and returns a previewId.
description: |
Creates a 2D avatar image preview, taking as input the FileId from
`Class.AvatarCreationService:PromptSelectAvatarGenerationImageAsync()|PromptSelectAvatarGenerationImageAsync()`
and an optional text prompt. It returns a previewId which can be passed to
`Class.AvatarCreationService:LoadAvatar2DPreviewAsync()|LoadAvatar2DPreviewAsync()`
to retrieve the preview image on the client. This API can only be used on
the game server.
```lua
local AvatarCreationService = game:GetService("AvatarCreationService")
function generateAvatar2DPreview(sessionId, fileId, textPrompt)
local pcallSuccess, result = pcall(function()
local args = {}
args.SessionId = sessionId
args.FileId = fileId
args.TextPrompt = textPrompt
return AvatarCreationService:GenerateAvatar2DPreview(args)
end)
if not pcallSuccess then
warn("Generating 2D preview failed: ", result)
end
return result
end
```
code_samples: []
parameters:
- name: avatarGeneration2dPreviewParams
type: Dictionary
default:
summary: |
A table of arguments for 2D preview generation. Type:
`avatarGeneration2dPreviewParams: {SessionId: string, FileId: string, TextPrompt: string?}`
returns:
- type: string
summary: |
A string previewId
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:GenerateAvatarAsync
summary: |
Generates an avatar and returns a generationId.
description: |
Generate an avatar from a preview and return the generationId. The
`Class.AvatarCreationService:LoadGeneratedAvatarAsync()|LoadGeneratedAvatarAsync()`
method is then called to retrieve the generated
`Class.HumanoidDescription` avatar. This API can only be used on the game
server.
```lua
local AvatarCreationService = game:GetService("AvatarCreationService")
function generateAvatar(sessionId, previewId)
local pcallSuccess, result = pcall(function()
local args = {}
args.SessionId = sessionId
args.PreviewId = previewId
return AvatarCreationService:GenerateAvatarAsync(args)
end)
if not pcallSuccess then
warn("Generating avatar failed: ", result)
end
return result
end
```
code_samples: []
parameters:
- name: avatarGenerationParams
type: Dictionary
default:
summary: |
A table of arguments for generating an avatar. Type:
`avatarGenerationParams: {SessionId: string, PreviewId: string}`
returns:
- type: string
summary: |
A string generationId.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:GetBatchTokenDetailsAsync
summary: |
Gets the avatar creation token details for a list of avatar creation
tokens at once.
description: |
Gets the avatar creation token details for a list of avatar creation
tokens at once (tokens are generated through the
[token creation](../../../production/monetization/avatar-creation-token.md)
process). Returns an array of avatar creation token details; each token
detail is a dictionary with the fields indicated in the example result
below:
```lua
{
["Name"] = "string",
["Description"] = "string",
["UniverseId"] = 0,
["CreatorId"] = 0,
["CreatorType"] = Enum.CreatorType.User,
["OnSale"] = true,
["Price"] = 0,
["OffSaleReasons"] = {
"string",
}
}
```
code_samples: []
parameters:
- name: tokenIds
type: Array
default:
summary: |
The list of avatar creation token IDs to get details of.
returns:
- type: Array
summary: |
Array of avatar creation token details as outlined above.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:GetValidationRules
summary: |
Gets data regarding rules that assets must abide by to pass UGC
validation.
description: |
Gets data regarding rules that assets must abide by to pass UGC
validation. Validation is an essential step before creating avatars and
there are various checks that occur, including mesh triangle limits,
texture sizes, body part size limits, attachment positions, and more.
The returned dictionary of validation rules takes the following form:
```
{
["MeshRules"] = {
["BodyPartMaxTriangles"] = {
Enum.AssetType.DynamicHead: number,
Enum.AssetType.LeftArm: number,
Enum.AssetType.RightArm: number,
Enum.AssetType.Torso: number,
Enum.AssetType.LeftLeg: number,
Enum.AssetType.RightLeg: number,
},
["AccessoryMaxTriangles"]: number,
["MeshVertColor"]: Color3,
["CageMeshMaxDistanceFromRenderMesh"]: number,
},
["TextureRules"] = {
["MaxTextureSize"]: number,
},
["BodyPartRules"] = {
[Enum.AssetType.DynamicHead] = {
["Bounds"] = {
["Classic"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsSlender"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsNormal"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
},
["SubParts"] = {
["Head"] = {
["NeckRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["FaceFrontAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["HatAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["HairAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["FaceCenterAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
},
},
[Enum.AssetType.LeftArm] = {
["Bounds"] = {
["Classic"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsSlender"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
["ProportionsNormal"] = {
["MinSize"]: Vector3,
["MaxSize"]: Vector3,
},
},
["SubParts"] = {
["LeftHand"] = {
["LeftWristRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftGripAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
["LeftUpperArm"] = {
["LeftShoulderRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftShoulderAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftElbowRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
["LeftLowerArm"] = {
["LeftElbowRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
["LeftWristRigAttachment"] = {
["LowerBound"]: Vector3,
["UpperBound"]: Vector3,
},
},
},
},
...
},
["AccessoryRules"] = {
[Enum.AssetType.HairAccessory] = {
["Attachments"] = {
{
["Size"]: Vector3,
["Offset"]: Vector3,
["Name"]: string,
},
},
["RigidAllowed"]: boolean,
},
...
}
}
```
code_samples: []
parameters: []
returns:
- type: Dictionary
summary: |
Dictionary of validation rules as detailed above.
tags:
- CustomLuaState
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:LoadAvatar2DPreviewAsync
summary: |
Load an AvatarGeneration 2D preview on the client from a previewId.
description: |
Load an AvatarGeneration 2D preview as an `Class.EditableImage` on the
client for the given previewId. This API can only be used on the client.
```lua
local AvatarCreationService = game:GetService("AvatarCreationService")
function loadAvatar2DPreview(previewId)
local pcallSuccess, result = pcall(function()
return AvatarCreationService:LoadAvatar2DPreviewAsync(previewId)
end)
if not pcallSuccess then
warn("Failed to load preview: ", result)
end
return result
end
```
code_samples: []
parameters:
- name: previewId
type: string
default:
summary: |
Load the preview generated from
`Class.AvatarCreationService:GenerateAvatar2DPreviewAsync()|GenerateAvatar2DPreviewAsync()`.
returns:
- type: EditableImage
summary: |
An `Class.EditableImage` containing the preview image.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:LoadGeneratedAvatarAsync
summary: |
Loads a generated avatar using an avatar generation ID.
description: |
Loads a generated avatar using an avatar generation ID, as returned by
`Class.AvatarCreationService:AutoSetupAvatarAsync()|AutoSetupAvatarAsync()`
or
`Class.AvatarCreationService:GenerateAvatarAsync()|GenerateAvatarAsync()`.
The generated avatar will be returned as a `Class.HumanoidDescription`
with all the generated instances and properties. Mesh and texture assets
will be provided as `Class.EditableMesh` and `Class.EditableImage`
objects, respectively, to allow continued editing of the generated avatar.
This method can be called on both the server and client, allowing the
generated avatar to be loaded in both places (on the client for
previewing, and on the server for saving the generated avatar to the
player's inventory using
`Class.AvatarCreationService:PromptCreateAvatarAsync()|PromptCreateAvatarAsync()`).
Once the method has been invoked on both the client and server, the data
associated with the generation ID will be erased and subsequent calls to
his method with the same generation ID will fail.
code_samples:
- AvatarCreationService-LoadGeneratedAvatarAsync
parameters:
- name: generationId
type: string
default:
summary: |
A unique string that identifies the generated avatar, as returned by
`Class.AvatarCreationService:AutoSetupAvatarAsync()| AutoSetupAvatarAsync()`.
returns:
- type: HumanoidDescription
summary: |
The `Class.HumanoidDescription` of the generated avatar, which
includes all the generated instances and properties.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:PrepareAvatarForPreviewAsync
summary: |
Prepares in-experience avatar for preview.
description: |
Triggers HSR generation and attachment point updating for in-experience
avatar previews. This allows for previewing of avatars created in
experience with layered clothing and accessories in the same way they will
appear when published through
`Class.AvatarCreationService:PromptCreateAvatarAsync()|PromptCreateAvatarAsync()`.
When developers use `Class.EditableMesh` and `Class.WrapDeformer` to
modify avatars before publishing, the original HSR data may not accurately
account for the new deformations. This method generates updated HSR data
and corrects attachment points based on the `Class.WrapDeformer`
modifications, ensuring consistent preview and published avatar
appearance.
code_samples: []
parameters:
- name: humanoidModel
type: Model
default:
summary: |
The `Class.Model` containing `Class.MeshPart` children with
`Class.WrapDeformer` instances that require HSR data updating for
preview.
returns:
- type: ()
summary: ''
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:PromptCreateAvatarAssetAsync
summary: |
Prompts a `Class.Player` to purchase and create an avatar asset from an
`Class.Instance`.
description: |
Prompts a `Class.Player` to purchase and create an avatar asset from an
`Class.Instance`. The price of the creation is dictated by the price
attributed to the avatar creation token. This creation token is required
for the purchasing and creation of the asset and can be generated by
following the
[token creation](../../../production/monetization/avatar-creation-token.md)
process.
For avatar asset creation, the `Class.Instance` is expected to include a
new accessory to be created. This includes the following types:
`Enum.AvatarAssetType.Hat|Hat`, `Enum.AvatarAssetType.HairAccessory|Hair`,
`Enum.AvatarAssetType.FaceAccessory|FaceAccessory`,
`Enum.AvatarAssetType.NeckAccessory|NeckAccessory`,
`Enum.AvatarAssetType.ShoulderAccessory|ShoulderAccessory`,
`Enum.AvatarAssetType.FrontAccessory|FrontAccessory`,
`Enum.AvatarAssetType.BackAccessory|BackAccessory`,
`Enum.AvatarAssetType.WaistAccessory|WaistAccessory`,
`Enum.AvatarAssetType.TShirtAccessory|TShirtAccessory`,
`Enum.AvatarAssetType.ShirtAccessory|ShirtAccessory`,
`Enum.AvatarAssetType.PantsAccessory|PantsAccessory`,
`Enum.AvatarAssetType.JacketAccessory|JacketAccessory`,
`Enum.AvatarAssetType.SweaterAccessory|SweaterAccessory`,
`Enum.AvatarAssetType.ShortsAccessory|ShortsAccessory`,
`Enum.AvatarAssetType.DressSkirtAccessory|DressSkirtAccessory`.
To support this, the `Class.Instance` should be an `Class.Accessory`
instance or contain an `Class.Accessory` child instance. This should
include a `Class.MeshPart` child instance which makes up the accessory.
The avatar asset `Class.MeshPart` will also need to include:
- An `Class.EditableImage`.
- An `Class.EditableMesh`.
If creating a layered clothing accessory such as a shirt, the
`Class.MeshPart` should include a `Class.WrapDeformer` with an
`Class.EditableMesh`.
Finally, the provided `Enum.AvatarAssetType` should match the creation
type of the token and the type of `Class.Accessory` for upload.
code_samples:
- AvatarCreationService-PromptCreateAvatarAssetAsync
parameters:
- name: tokenId
type: string
default:
summary: |
The ID of a creation token. The token must be valid in that the
universe the method is called from is the same universe the token was
created for. Furthermore, the token creator must maintain ID
verification and
[Roblox Premium](https://www.roblox.com/premium/membership). To create
a token for utilization in this API, follow the
[token creation](../../../production/monetization/avatar-creation-token.md)
process. The token's creation type must match the
`Enum.AvatarAssetType` passed in to the method.
- name: player
type: Player
default:
summary: |
The `Class.Player` intended to be presented with the creation prompt.
- name: assetInstance
type: Instance
default:
summary: |
The `Class.Instance` of the avatar asset intended for creation.
- name: assetType
type: AvatarAssetType
default:
summary: |
The `Enum.AvatarAssetType` of the expected creation. This must match
the creation type of the provided token.
returns:
- type: Tuple
summary: |
A tuple containing, in order:
- An `Enum.PromptCreateAssetResult` indicating the result of the
creation prompt.
- A string result. In the case of
`Enum.PromptCreateAssetResult.Success`, this will indicate the asset
ID. In the case of any failure enum, this will indicate the
resultant error message.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:PromptCreateAvatarAsync
summary: |
Prompts a `Class.Player` to purchase and create an avatar from a
`Class.HumanoidDescription`.
description: |
Prompts a `Class.Player` to purchase and create an avatar from a
`Class.HumanoidDescription`. The price of the creation is dictated by the
price attributed to the avatar creation token. This avatar creation token
is required for the purchasing and creation of the body and can be
generated by following the
[token creation](../../../production/monetization/avatar-creation-token.md)
process.
For avatar creation, the `Class.HumanoidDescription` is expected to
include new assets to be created for each of the 6 body parts
(`Enum.BodyPart.Head|Head`, `Enum.BodyPart.Torso|Torso`,
`Enum.BodyPart.RightLeg|RightLeg`, `Enum.BodyPart.LeftLeg|LeftLeg`,
`Enum.BodyPart.RightArm|RightArm`, `Enum.BodyPart.LeftArm|LeftArm`).
Optionally, it can also include a new `Enum.AccessoryType.Hair|Hair`
accessory.
To support this, the `Class.HumanoidDescription` should include 6
`Class.BodyPartDescription` children (one for each body part). For each,
the `Class.BodyPartDescription.Instance` property references a
`Class.Folder` which includes all of the `Class.MeshPart` instances which
make up the body part, for example a `LeftArm` folder which has
`LeftHand`, `LeftUpperArm`, and `LeftLowerArm` `Class.MeshPart|MeshParts`.
The `Class.BodyPartDescription.BodyPart` property should also be set to
the relevant `Enum.BodyPart`.
Each body part `Class.MeshPart` will also need to include:
- An `Class.EditableImage`.
- A `Class.WrapDeformer` with an `Class.EditableMesh`.
If including an accessory such as hair, the `Class.HumanoidDescription`
should include a child `Class.AccessoryDescription` where:
- The `Class.AccessoryDescription.Instance` property references the
`Class.Accessory` instance.
- The `Class.AccessoryDescription.AccessoryType` property is set to the
relevant `Enum.AccessoryType`.
Finally, the `Class.HumanoidDescription` should include the humanoid
scales of `Class.HumanoidDescription.BodyTypeScale|BodyTypeScale`,
`Class.HumanoidDescription.HeadScale|HeadScale`,
`Class.HumanoidDescription.HeightScale|HeightScale`,
`Class.HumanoidDescription.WidthScale|WidthScale`, and
`Class.HumanoidDescription.ProportionScale|ProportionScale`. Be mindful of
the scales that a base body is imported with so that they match the scales
provided to the `Class.HumanoidDescription`.
code_samples:
- AvatarCreationService-PromptCreateAvatarAsync
parameters:
- name: tokenId
type: string
default:
summary: |
The ID of an avatar creation token. The token must be valid in that
the universe the method is called from is the same universe the token
was created for. Furthermore, the token creator must maintain ID
verification and
[Roblox Premium](https://www.roblox.com/premium/membership). To create
a token for utilization in this API, follow the
[token creation](../../../production/monetization/avatar-creation-token.md)
process.
- name: player
type: Player
default:
summary: |
The `Class.Player` intended to be presented with the creation prompt.
- name: humanoidDescription
type: HumanoidDescription
default:
summary: |
The `Class.HumanoidDescription` of the avatar intended for creation.
returns:
- type: Tuple
summary: |
A tuple containing, in order:
- An `Enum.PromptCreateAvatarResult` indicating the result of the
creation prompt.
- A string result. In the case of
`Enum.PromptCreateAvatarResult.Success`, this will indicate the
bundle ID. In the case of any failure enum, this will indicate the
resultant error message.
- A secondary optional string result. In the case of
`Enum.PromptCreateAvatarResult.Success`, this will indicate the
outfit ID. In the case of any failure enum, this will be `nil`.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:PromptSelectAvatarGenerationImageAsync
summary: |
Prompt the `Class.Player` to take a selfie and return the FileId.
description: |
Prompt the `Class.Player` to take a selfie and return the FileId of the
selfie. This FileId is then passed as an argument to
`Class.AvatarCreationService:GenerateAvatar2DPreviewAsync()|GenerateAvatar2DPreviewAsync()`.
This API can only be used on the game server.
```lua
local AvatarCreationService = game:GetService("AvatarCreationService")
function promptSelectAvatarGenerationImage(player)
local pcallSuccess, result = pcall(function()
return AvatarCreationService:PromptSelectAvatarGenerationImageAsync(player)
end)
if not pcallSuccess then
warn("Failed to prompt for image: ", result)
end
return result
end
```
code_samples: []
parameters:
- name: player
type: Player
default:
summary: |
The `Class.Player` to prompt for taking a selfie.
returns:
- type: string
summary: |
A string FileId of the selfie.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:RequestAvatarGenerationSessionAsync
summary: |
Request an AvatarGeneration session for a `Class.Player`.
description: |
Request an AvatarGeneration session for a `Class.Player`. Information
about the session is returned via the callback, including the SessionId
which is passed to the
`Class.AvatarCreationService:GenerateAvatar2DPreviewAsync()|GenerateAvatar2DPreviewAsync()`
and
`Class.AvatarCreationService:GenerateAvatarAsync()|GenerateAvatarAsync()`
methods. Additional session information includes allowed 2d preview
generations, allowed 3d avatar generations, and the session time. The
method returns a `Tuple` with an `Datatype.RBXScriptConnection` and
estimated `waitTime`. The `Datatype.RBXScriptConnection` allows canceling
a session request. The estimated `waitTime` is used to provide the player
an estimated time in seconds until the session will be ready. This API can
only be used on the game server.
```lua
local AvatarCreationService = game:GetService("AvatarCreationService")
local playerSessions = {}
local playerSessionRequests = {}
function requestAvatarGenerationSession(player)
local pcallSuccess, conn, waitTime = pcall(function()
return AvatarCreationService:RequestAvatarGenerationSessionAsync(player, function(sessionInfo)
playerSessions[player.UserID] = sessionInfo
playerSessionRequests[player.UserID] = nil
end)
end)
if not pcallSuccess then
warn("Failed to request Avatar generation session: ", conn)
end
playerSessionRequests[player.UserID] = conn
print("Wait time for session: ", tostring(waitTime))
end
function cancelAvatarGenerationSessionRequest(player)
if playerSessionRequests[player.UserID] ~= nil then
playerSessionRequests[player.UserID]:Disconnect()
end
end
```
code_samples: []
parameters:
- name: player
type: Player
default:
summary: |
The `Class.Player` to request an AvatarGeneration session for.
- name: callback
type: Function
default:
summary: |
Callback function that is invoked with a SessionInfo table, with
information about the session. Type:
`(SessionInfo: { SessionId: string, Allowed2DGenerations: number, Allowed3DGenerations: number, SessionTime: number }) -> ()`
returns:
- type: Tuple
summary: |
A tuple containing a `Datatype.RBXScriptConnection` that can be used
to cancel the session request and the estimated wait time in seconds.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:ValidateUGCAccessoryAsync
summary: |
Studio only. Runs UGC validation for an `Enum.AccessoryType`.
description: |
Studio only. Given a `Class.Player` and `Class.Instance` for an
`Enum.AccessoryType`, determines if UGC validation passes.
code_samples: []
parameters:
- name: player
type: Player
default:
summary: |
The `Class.Player` validation is completed for.
- name: accessory
type: Instance
default:
summary: |
The instance validation is run on.
- name: accessoryType
type: AccessoryType
default:
summary: |
`Enum.AccessoryType` the instance is expected to be. Expects
`Enum.AccessoryType.Eyebrow|Eyebrow`,
`Enum.AccessoryType.Eyelash|Eyelash`, or
`Enum.AccessoryType.Hair|Hair`.
returns:
- type: Tuple
summary: |
A tuple containing, in order:
- A boolean indicating if validation was successful for the accessory.
- An optional table of strings. This includes failure reasons if
validation was unsuccessful; otherwise `nil` if validation was
successful.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:ValidateUGCBodyPartAsync
summary: |
Studio only. Runs UGC validation for an `Enum.BodyPart`.
description: |
Studio only. Given a `Class.Player` and `Class.Instance` for an
`Enum.BodyPart`, determines if UGC validation passes. The `instance`
parameter is expected as a `Class.Folder` in the following example format
with relevant `Class.MeshPart|MeshParts`:
- `LeftArm` (`Class.Folder`)
- `R15ArtistIntent` (`Class.Folder`)
- `LeftLowerArm` (`Class.MeshPart`)
- `LeftUpperArm` (`Class.MeshPart`)
- `LeftHand` (`Class.MeshPart`)
However, if the expected `bodyPart` is `Enum.BodyPart.Head`, the function
takes a singular `Head` `Class.MeshPart` directly.
code_samples: []
parameters:
- name: player
type: Player
default:
summary: |
The `Class.Player` validation is completed for.
- name: instance
type: Instance
default:
summary: |
The instance validation is run on.
- name: bodyPart
type: BodyPart
default:
summary: |
`Enum.BodyPart` the instance is expected to be.
returns:
- type: Tuple
summary: |
A tuple containing, in order:
- A boolean indicating if validation was successful for the body part.
- An optional table of strings. This includes failure reasons if
validation was unsuccessful; otherwise `nil` if validation was
successful.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
- name: AvatarCreationService:ValidateUGCFullBodyAsync
summary: |
Studio only. Runs UGC validation for a whole body.
description: |
Studio only. Given a `Class.Player` and `Class.HumanoidDescription`, all
instances in the `Class.HumanoidDescription` will be validated.
The `Class.HumanoidDescription` is expected to include instances set on
`Class.BodyPartDescription` children for each of the 6 required
`Enum.BodyPart` values. Optionally, it can include instances set on
`Class.AccessoryDescription` children for `Eyebrow`, `Eyelash`, and `Hair`
`Enum.AccessoryType|AccessoryTypes`.
code_samples: []
parameters:
- name: player
type: Player
default:
summary: |
The `Class.Player` validation is completed for.
- name: humanoidDescription
type: HumanoidDescription
default:
summary: |
`Class.HumanoidDescription` representing the body that validation is
run on.
returns:
- type: Tuple
summary: |
A tuple containing, in order:
- A boolean indicating if validation was successful for the body.
- An optional table of strings. This includes failure reasons if
validation was unsuccessful; otherwise `nil` if validation was
successful.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
events:
- name: AvatarCreationService.AvatarAssetModerationCompleted
summary: |
Fires when an in-experience-created avatar asset's moderation status has
been updated from pending.
description: |
Fires when an in-experience-created avatar asset's moderation status has
been updated from pending. This event provides a streamlined way to know
when an avatar asset created through
`Class.AvatarCreationService:PromptCreateAvatarAssetAsync()|PromptCreateAvatarAssetAsync()`
has completed the moderation process and is ready for use in-experience.
Note that this event only fires for avatar assets created within the
current experience and will trigger when the `Enum.ModerationStatus`
changes from `Enum.ModerationStatus.NotReviewed|NotReviewed` to any other
status. The event fires on the client only.
code_samples:
- AvatarCreationService-AvatarAssetModerationCompleted
parameters:
- name: assetId
type: int64
default:
summary: |
The asset ID of the asset that has completed moderation.
- name: moderationStatus
type: ModerationStatus
default:
summary: |
The final `Enum.ModerationStatus` result after moderation completed.
tags: []
deprecation_message: ''
security: None
capabilities: []
- name: AvatarCreationService.AvatarModerationCompleted
summary: |
Fires when an in-experience-created avatar's moderation status has been
updated from pending.
description: |
Fires when an in-experience-created avatar's moderation status has been
updated from pending. This event provides a streamlined way to know when
an avatar created through
`Class.AvatarCreationService:PromptCreateAvatarAsync()|PromptCreateAvatarAsync()`
has completed the moderation process and is ready for use in-experience.
Note that this event only fires for avatars created within the current
experience and will trigger when the `Enum.ModerationStatus` changes from
`Enum.ModerationStatus.NotReviewed|NotReviewed` to any other status. The
event fires on the client only.
`Class.AvatarEditorService:GetOutfitDetailsAsync|GetOutfitDetailsAsync`
can be used on the server to verify the current moderation status if
needed.
code_samples: []
parameters:
- name: outfitId
type: int64
default:
summary: |
The outfit ID of the avatar that has completed moderation.
- name: moderationStatus
type: ModerationStatus
default:
summary: |
The final `Enum.ModerationStatus` result after moderation completion.
tags: []
deprecation_message: ''
security: None
capabilities: []
callbacks: []

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,53 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: Backpack
type: class
memory_category: Instances
summary: |
A container object that holds a player's inventory. Any `Class.Tool` in a
player's Backpack will be displayed in their inventory at the bottom of their
screen.
description: |
A container object that holds a player's inventory. Any `Class.Tool` in a
player's Backpack will be displayed in their inventory at the bottom of their
screen. Selecting `Class.Tool|Tools` from the inventory will equip the
`Class.Tool`, moving it from the Backpack to the player's character.
The Backpack can also store `Class.Script|Scripts` and
`Class.LocalScript|LocalScripts`, which run when placed in a player's
Backpack.
When a player's character spawns, the contents of the `Class.StarterPack` and
their `Class.StarterGear` are copied into their Backpack. Once a character
dies, the Backpack is removed and a new one will be created -- populating it
with the contents of `Class.StarterPack` and `Class.StarterGear`.
Roblox provides an interface for a player to access their backpack and
inventory by default at the bottom of the screen. If a developer wishes to
disable the default Roblox backpack GUI and replace it with their own, they
may do so using `Class.StarterGui:SetCoreGuiEnabled()`.
The Backpack can be accessed from both the client and the server.
```lua
local Players = game:GetService("Players")
-- Accessing Backpack from a Server Script:
local backpack = Players.PlayerName.Backpack
-- Accessing Backpack from a LocalScript:
local backpack = Players.LocalPlayer.Backpack
```
code_samples:
- Backpack-Give-Tool
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,75 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BackpackItem
type: class
memory_category: BaseParts
summary: |
BackpackItem is an abstract class for backpack items such as HopperBins and
Tools.
description: |
BackpackItem is an abstract class for backpack items such as HopperBins and
Tools.
code_samples: []
inherits:
- Model
descendants:
- HopperBin
- Tool
tags:
- NotCreatable
deprecation_message: ''
properties:
- name: BackpackItem.TextureContent
summary: |
The texture icon that is displayed for a tool in the player's backpack.
Only supports asset URIs.
description: |
The texture icon that is displayed for a tool in the player's backpack.
This property should be set to the content ID of an image uploaded to the
Roblox website. Only asset URIs are supported for this property.
If this property is left blank, the `Class.Backpack` GUI will display the
name of the tool instead.
code_samples: []
type: Content
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
- name: BackpackItem.TextureId
summary: |
The texture icon that is displayed for a tool in the player's backpack.
description: |
The texture icon that is displayed for a tool in the player's backpack.
This property should be set to the content ID of an image uploaded to the
Roblox website.
If this property is left blank, the `Class.Backpack` GUI will display the
name of the tool instead.
code_samples: []
type: ContentId
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,368 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BadgeService
type: class
memory_category: Instances
summary: |
Provides information on badges and awards them.
description: |
`BadgeService` provides information and functionality related to
[badges](../../../production/publishing/badges.md). Badges are used across the
platform to recognize a player's achievements and activity. Upon awarding a
badge to a player, it is added to their inventory and displayed on their
profile page.
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotCreatable
- Service
deprecation_message: ''
properties: []
methods:
- name: BadgeService:AwardBadgeAsync
summary: |
Award a badge to a player given the ID of each.
description: |
Grants a `Class.Player` a badge with the `Class.Player.UserId|UserId` and
the badge ID.
In order to successfully award a badge:
- The player must be presently connected to the experience.
- The player must not already have the badge (note that a player may
delete an awarded badge from their profile and be awarded the badge
again).
- The badge must be awarded from a server-side `Class.Script` or a
`Class.ModuleScript` eventually required by a `Class.Script`, not from a
`Class.LocalScript`.
- The badge must be awarded in a place that is part of the experience
associated with the badge.
- The badge must be enabled; check this using the `IsEnabled` property of
the badge fetched through `Class.BadgeService:GetBadgeInfoAsync()`.
Rate limit is `50 + 35 * [number of users]` per minute.
code_samples:
- badges---awarding-a-badge
parameters:
- name: userId
type: int64
default:
summary: |
The `Class.Player.UserId` of the user the badge is to be awarded to.
- name: badgeId
type: int64
default:
summary: |
The ID of the badge to be awarded.
returns:
- type: boolean
summary: |
Boolean of `true` if the badge was awarded successfully.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetManagement
- name: BadgeService:AwardBadge
summary: |
Award a badge to a player given the ID of each.
description: ''
code_samples: []
parameters:
- name: userId
type: int64
default:
summary: |
The `Class.Player.UserId` of the user the badge is to be awarded to.
- name: badgeId
type: int64
default:
summary: |
The ID of the badge to be awarded.
returns:
- type: boolean
summary: |
Boolean of `true` if the badge was awarded successfully.
tags:
- Yields
- Deprecated
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetManagement
- name: BadgeService:CheckUserBadgesAsync
summary: |
Checks a list of badge IDs against a `Class.Player.UserId|UserId` and
returns a list of badge IDs that the player owns.
description: |
Checks a list of badge IDs against a `Class.Player.UserId|UserId` and
returns a list of badge IDs that the player owns. This method supports
batches of up to 10 badges; use `Class.BadgeService:UserHasBadgeAsync()`
for single badge lookups.
Any set of badges for any experience can be queried, no matter who created
the badges or which experiences they are for. Any
`Class.Player.UserId|UserId` can be used in a `Class.Script`, but in a
`Class.LocalScript`, only the `Class.Player.UserId|UserId` of the local
user whose client is running the script can be used.
Rate limit is `10 + 5 * [number of players]` per minute in each server.
code_samples:
- badges---checking-earned-badges-batch
parameters:
- name: userId
type: int64
default:
summary: |
The `Class.Player.UserId|UserId` of the player to check for ownership
of the specified badges.
- name: badgeIds
type: Array
default:
summary: |
The list of IDs of the badges to check ownership of. Maximum length
of 10.
returns:
- type: Array
summary: |
The list of badge IDs the given user owns out of the provided badge
IDs. Empty if none of the provided badges are owned by the given user.
Not guaranteed to be in the same order as the input list.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetManagement
- name: BadgeService:GetBadgeInfoAsync
summary: |
Fetch information about a badge given its ID.
description: |
This method fetches information about a badge given its ID and returns a
dictionary with the following fields:
<table>
<thead>
<tr>
<th>Key</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>Name</code></td>
<td>string</td>
<td>The name of the badge.</td>
</tr>
<tr>
<td><code>Description</code></td>
<td>string</td>
<td>The description of the badge.</td>
</tr>
<tr>
<td><code>IconImageId</code></td>
<td>int64</td>
<td>The asset ID of the image for the badge.</td>
</tr>
<tr>
<td><code>IsEnabled</code></td>
<td>boolean</td>
<td>Indicates whether the badge is available to be awarded.</td>
</tr>
</tbody>
</table>
This method takes a brief moment to load the information from Roblox;
repeated calls will cache for a short duration.
code_samples:
- getbadgeinfoasync
parameters:
- name: badgeId
type: int64
default:
summary: |
The badge ID of the badge whose information should be fetched.
returns:
- type: Dictionary
summary: |
A dictionary of information about the specified badge.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetManagement
- name: BadgeService:IsDisabled
summary: |
Returns whether a given badge is disabled.
description: |
This function returns whether the badge with the given ID is marked
**disabled** on the Roblox website. A badge can be disabled by its owner
on its page on the Roblox website, in the settings sub-menu. When a badge
is disabled, this function returns true and the badge can no longer be
awarded. A badge may be quickly re-enabled through the same menu.
In Studio, a badge can only be tested if it is **disabled**. Calling this
function with an enabled badge in Studio will return **true** and produce
a warning "Sorry, badges can only be tested if they are disabled on Roblox
game servers".
Note that even if a badge is enabled it may not necessarily be awardable
(for example if it isn't associated with the current game).
Badges that are associated with special events are a common reason for a
badge to be disabled. Often, it is easier to simply disable a badge
instead of hard-coding a time check for when some event ends.
code_samples:
- BadgeService-IsDisabled1
parameters:
- name: badgeId
type: int64
default:
summary: |
The ID of the badge.
returns:
- type: boolean
summary: |
True if the specified badge is not available to be awarded.
tags:
- Yields
- Deprecated
deprecation_message: |
This function is deprecated. Do not use it for new work. Instead, it can
be checked by calling BadgeService:GetBadgeInfoAsync() and checking the
IsEnabled field.
security: None
thread_safety: Unsafe
capabilities:
- AssetManagement
- name: BadgeService:IsLegal
summary: |
Determines if a given badge is associated with the current game.
description: |
This function determines if a given badge is associated with the current
game. It returns true if the badge is associated with the current game.
Badges can only be awarded from a place that is part of the game
associated with the badge. This means, for example, a developer cannot
award a badge associated with another developer's game.
Even if this returns true, a badge may still not be award-able. For
example, it may be disabled.
code_samples: []
parameters:
- name: badgeId
type: int64
default:
summary: |
The badge ID of the badge.
returns:
- type: boolean
summary: |
True if the badge is associated with the current game.
tags:
- Yields
- Deprecated
deprecation_message: |
This function is deprecated and will always return true. Do not use it for
new work.
security: None
thread_safety: Unsafe
capabilities:
- AssetManagement
- name: BadgeService:UserHasBadge
summary: |
Checks whether a user has the badge given the `Class.Player.UserId` and
the badge ID.
description: |
Checks and returns whether a `Class.Player` owns a badge given their
`Class.Player.UserId|UserId` and the badge ID. You can call the function
from the server in a `Class.Script` or `Class.ModuleScript` eventually
required by a `Class.Script`, and the user in question must be present in
the server for the query to run. When calling the method from the client
in a `Class.LocalScript`, it only works for the local user whose client is
running the script.
Any badge for any experience can be queried, no matter who created the
badge or which experience it is used for.
code_samples: []
parameters:
- name: userId
type: int64
default:
summary: |
The user ID of the user.
- name: badgeId
type: int64
default:
summary: |
The badge ID of the badge.
returns:
- type: boolean
summary: |
True if the user has the badge.
tags:
- Yields
- Deprecated
deprecation_message: |
This method has been superseded by
`Class.BadgeService:UserHasBadgeAsync()` which should be used for new
instead.
security: None
thread_safety: Unsafe
capabilities:
- AssetManagement
- name: BadgeService:UserHasBadgeAsync
summary: |
Checks whether a player has the badge given the `Class.Player.UserId` and
the badge ID.
description: |
Checks and returns whether a `Class.Player` owns a badge given their
`Class.Player.UserId|UserId` and the badge ID. You can call this method
from the server in a `Class.Script` or `Class.ModuleScript` eventually
required by a `Class.Script`, and the user in question must be present in
the server for the query to run. When calling this method from the client
in a `Class.LocalScript`, it only works for the local user whose client is
running the script.
Any badge for any experience can be queried, no matter who created the
badge or which experience it is used for.
Rate limit is `50 + 35 * [number of players]` per minute.
code_samples:
- badges---checking-earned-badges
parameters:
- name: userId
type: int64
default:
summary: |
The `Class.Player.UserId` of the player to check for ownership of the
specified badge.
- name: badgeId
type: int64
default:
summary: |
The badge ID of the badge whose ownership will be checked.
returns:
- type: boolean
summary: |
Indicates if the specified user has the specified badge.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- AssetManagement
events: []
callbacks: []

View file

@ -0,0 +1,232 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BallSocketConstraint
type: class
memory_category: BaseParts
summary: |
Forces its two attachments into the same position and allows them to freely
rotate about all three axes, with optional limits to restrict both tilt and
twist.
description: |
A `BallSocketConstraint` constrains its `Class.Attachment|Attachments` so that
they occupy the same position. By default it allows both attachments to freely
rotate about all of their axes, but if
`Class.BallSocketConstraint.LimitsEnabled|LimitsEnabled` is `true`, the
attachments can only rotate in a limited cone.
Note that if this constraint attaches one part (**A**) to another part (**B**)
that is anchored or connected to an anchored part (**Z**), part **A** will not
be locally simulated when interacting with a player.
When configuring this constraint, it may be helpful to study
[Roblox Units](../../../physics/units.md) to understand how Roblox units
compare to metric units.
#### Limits
You can set limits to restrict both **tilt** and **twist** of a ball socket,
similar to how a human's head can tilt and turn within a limited axial range.
Enabling the `Class.BallSocketConstraint.LimitsEnabled|LimitsEnabled` property
exposes the `Class.BallSocketConstraint.UpperAngle|UpperAngle` value to
restrict **tilt** within a cone; it also exposes the
`Class.BallSocketConstraint.TwistLimitsEnabled|TwistLimitsEnabled` property
which, when enabled, lets you restrict **twist** rotation through the
`Class.BallSocketConstraint.TwistLowerAngle|TwistLowerAngle` and
`Class.BallSocketConstraint.TwistUpperAngle|TwistUpperAngle` limits.
code_samples: []
inherits:
- Constraint
descendants: []
tags: []
deprecation_message: ''
properties:
- name: BallSocketConstraint.LimitsEnabled
summary: |
Sets whether the `BallSocketConstraint` sets a limit on rotation based on
`Class.BallSocketConstraint.UpperAngle|UpperAngle`.
description: |
Sets whether the `BallSocketConstraint` has a limit on rotation based on
`Class.BallSocketConstraint.UpperAngle|UpperAngle`. When `true`, it
enforces that its `Class.Constraint.Attachment1|Attachment1` isn't rotated
more than a set angle from its `Class.Constraint.Attachment0|Attachment0`.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: BallSocket
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BallSocketConstraint.MaxFrictionTorque
summary: |
Sets the maximum frictional torque applied to keep its
`Class.Attachment|Attachments` aligned.
description: |
Sets the maximum frictional torque applied to keep its
`Class.Attachment|Attachments` aligned.
`MaxFrictionTorque` specifies the stiffness of the `BallSocketConstraint`
(how much it resists rotation around its `Class.Attachment|Attachments`).
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Friction
serialization:
can_load: false
can_save: false
capabilities:
- Physics
- name: BallSocketConstraint.Radius
summary: |
The visualized radius of the `BallSocketConstraint`.
description: |
The visualized radius of the `BallSocketConstraint`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BallSocketConstraint.Restitution
summary: |
How elastic `Class.Attachment|Attachments` connected by a
`BallSocketConstraint` will be when they reach the end of the range
specified by `Class.BallSocketConstraint.UpperAngle|UpperAngle` when
`Class.BallSocketConstraint.LimitsEnabled|LimitsEnabled` is `true`.
description: |
How elastic `Class.Attachment|Attachments` connected by a
`BallSocketConstraint` will be when they reach the end of the range
specified by `Class.BallSocketConstraint.UpperAngle|UpperAngle` when
`Class.BallSocketConstraint.LimitsEnabled|LimitsEnabled` is `true`.
Constrained between 0 and 1.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Limits
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BallSocketConstraint.TwistLimitsEnabled
summary: |
Sets whether the `BallSocketConstraint` sets a limit on twist rotation
based on `Class.BallSocketConstraint.TwistUpperAngle|TwistUpperAngle` and
`Class.BallSocketConstraint.TwistLowerAngle|TwistLowerAngle`.
description: |
Sets whether the `BallSocketConstraint` sets a limit on twist rotation
based on `Class.BallSocketConstraint.TwistUpperAngle|TwistUpperAngle` and
`Class.BallSocketConstraint.TwistLowerAngle|TwistLowerAngle`. The twist
angle is defined as the angle between the **Y** axis of
`Class.Constraint.Attachment1|Attachment1` and the **Y** axis of
`Class.Constraint.Attachment0|Attachment0`.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Limits
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BallSocketConstraint.TwistLowerAngle
summary: |
Sets the lower twist rotation limit of the `BallSocketConstraint`, as long
as `Class.BallSocketConstraint.TwistLimitsEnabled|TwistLimitsEnabled` is
`true`.
description: |
Sets the lower twist rotation limit of the `BallSocketConstraint`, as long
as `Class.BallSocketConstraint.TwistLimitsEnabled|TwistLimitsEnabled` is
`true`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: TwistLimits
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BallSocketConstraint.TwistUpperAngle
summary: |
Sets the upper twist rotation limit of the `BallSocketConstraint`, as long
as `Class.BallSocketConstraint.TwistLimitsEnabled|TwistLimitsEnabled` is
`true`.
description: |
Sets the upper twist rotation limit of the `BallSocketConstraint`, as long
as `Class.BallSocketConstraint.TwistLimitsEnabled|TwistLimitsEnabled` is
`true`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: TwistLimits
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BallSocketConstraint.UpperAngle
summary: |
Sets the upper rotation limit of the `BallSocketConstraint`, as long as
`Class.BallSocketConstraint.LimitsEnabled|LimitsEnabled` is `true`.
description: |
Sets the upper rotation limit of the `BallSocketConstraint`, as long as
`Class.BallSocketConstraint.LimitsEnabled|LimitsEnabled` is `true`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Limits
serialization:
can_load: true
can_save: true
capabilities:
- Physics
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,68 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BanHistoryPages
type: class
memory_category: Instances
summary: |
Returned by `Class.Players:GetBanHistoryAsync` to view the entire ban and
unban history of any UserId.
description: |
`Class.BanHistoryPages` is returned by `Class.Players:GetBanHistoryAsync()`.
This instance allows an experience to view the entire ban and unban history of
any player within the experience's universe.
The items within `Class.BanHistoryPages` are tables with the following fields:
<table><thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td><code>DisplayReason</code></td>
<td>string</td>
<td>The <code>DisplayReason</code> that was shown to the user</td>
</tr>
<tr>
<td><code>PrivateReason</code></td>
<td>string</td>
<td>The <code>PrivateReason</code> that was sent with this ban.</td>
</tr>
<tr>
<td><code>StartTime</code></td>
<td>string</td>
<td>The time that this ban was applied in ISO 8601 format.</td>
</tr>
<tr>
<td><code>Duration</code></td>
<td>number</td>
<td>The length of the ban in seconds. If it is a permanent ban, it will be <code>-1</code>.</td>
</tr>
<tr>
<td><code>Ban</code></td>
<td>boolean</td>
<td>If the action was a ban, it will be <code>true</code>. If the action was an unban, it will be <code>false</code>.</td>
</tr>
<tr>
<td><code>PlaceId</code></td>
<td>number</td>
<td>The place in which a ban or unban was explicitly updated. This field is <code>-1</code> if the action was applied on the universe level.</td>
</tr>
</tbody>
</table>
code_samples: []
inherits:
- Pages
descendants: []
tags:
- NotCreatable
- NotReplicated
deprecation_message: ''
properties: []
methods: []
events: []
callbacks: []

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,73 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BasePlayerGui
type: class
memory_category: Instances
summary: |
The BasePlayerGui is an abstract class which the GUI drawing storage classes
inherit from.
description: |
The BasePlayerGui is an abstract class that all GUI drawing storage classes
inherit from.
code_samples: []
inherits:
- Instance
descendants:
- CoreGui
- PlayerGui
- StarterGui
tags:
- NotCreatable
deprecation_message: ''
properties: []
methods:
- name: BasePlayerGui:GetGuiObjectsAtPosition
summary: |
Returns a list of all `Class.GuiObject` instances occupying the given
point on the screen.
description: |
Takes a screen position and returns a list of all the `Class.GuiObject`
instances that are occupying that screen position, sorted in the order
they appear on-screen from top to bottom as the first and last index,
respectively.
The main use case is to get GUI objects under the player's mouse or touch
inputs to do things like allow selection or highlighting. These effects
can already be achieved using `Class.GuiObject.MouseEnter` and
`Class.GuiObject.MouseLeave` but this requires the developer to track
these events for their UI objects all the time even if they only need this
functionality in specific circumstances.
Since the child classes of `Class.BasePlayerGui` inherit this function, it
can be fired by class objects such as the `Class.PlayerGui` and
`Class.StarterGui` folders.
code_samples:
- selecting-guis-at-a-position
parameters:
- name: x
type: int
default:
summary: |
The x position on the screen relative to the top left corner after the
`Class.GuiService:GetGuiInset()|GuiInset` is applied.
- name: 'y'
type: int
default:
summary: |
The y position on the screen relative to the top left corner after the
`Class.GuiService:GetGuiInset()|GuiInset` is applied.
returns:
- type: Instances
summary: |
A table of the `Class.GuiObject` instances that occupy the given
screen space.
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- UI
events: []
callbacks: []

View file

@ -0,0 +1,22 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BaseRemoteEvent
type: class
memory_category: Instances
summary: ''
description: ''
code_samples: []
inherits:
- Instance
descendants:
- RemoteEvent
- UnreliableRemoteEvent
tags:
- NotCreatable
deprecation_message: ''
properties: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,161 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BaseScript
type: class
memory_category: Script
summary: |
The base class for all script objects which run automatically.
description: |
The base class for all script objects which run automatically.
code_samples: []
inherits:
- LuaSourceContainer
descendants:
- Script
tags:
- NotCreatable
deprecation_message: ''
properties:
- name: BaseScript.Disabled
summary: |
Determines whether a `Class.BaseScript` will run or not.
description: |
Determines whether a `Class.BaseScript` will run or not.
If a script is disabled by changing this property to true while the script
is running, the current running thread of the script will be terminated.
If this property is changed from true to false, the script will run again.
This means that `Class.BaseScript.Disabled|Disabled` can be toggled to
restart a script:
```lua
scriptObject.Disabled = true
scriptObject.Disabled = false
```
Note that the above code snippet cannot be used within the script itself,
since disabling the script from within itself will terminate the thread
and the line to reenable it will never execute.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities: []
- name: BaseScript.Enabled
summary: |
Determines whether a `Class.BaseScript` will run or not.
description: |
Determines whether a `Class.BaseScript` will run or not. This should be
used in favor of the similar but opposite
`Class.BaseScript.Disabled|Disabled` property.
If a script is disabled by changing this property to false while the
script is running, the current running thread of the script will be
terminated.
If this property is changed from false to true, the script will run again.
This means that `Class.BaseScript.Enabled|Enabled` can be toggled to
restart a script:
```lua
scriptObject.Enabled = false
scriptObject.Enabled = true
```
Note that the above code snippet cannot be used within the script itself,
since disabling the script from within itself will terminate the thread
and the line to reenable it will never execute.
code_samples: []
type: boolean
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: false
can_save: false
capabilities: []
- name: BaseScript.LinkedSource
summary: |
The content ID of an uploaded script. When set binds the uploaded code to
the script's `Class.Script.Source`.
description: |
The content ID of an uploaded script. When set binds the uploaded code to
the script's `Class.Script.Source`.
By default, this property is set to _'[Embedded]'_. This means the source
of the script is not linked to an upload script and is instead written in
the script.
```lua
script.LinkedSource = "http://www.roblox.com/asset/?id=1014476" -- link source
```
Developers should remove a linked source via the properties window, rather
than setting the property to _'[Embedded]'_.
For the LinkedSource property for `Class.ModuleScript|ModuleScripts`,
please see `Class.ModuleScript.LinkedSource`.
code_samples: []
type: ContentId
tags:
- Deprecated
deprecation_message: |
This property is now replaced by
[packages](../../../projects/assets/packages.md) which has greater
functionality.
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
- name: BaseScript.RunContext
summary: |
Determines the context under which the script will run.
description: |
Determines the context under which the script will run.
When using the Legacy RunContext scripts will only run when parented to
certain containers dependent on whether they are a `Class.Script` or
`Class.LocalScript`.
If RunContext is assigned while the script is running any threads created
by the script will be terminated and the script will start running under
the new context if possible.
Note, RunContext cannot be used from a LocalScript.
code_samples: []
type: RunContext
tags: []
deprecation_message: ''
security:
read: None
write: PluginSecurity
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,206 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BaseWrap
type: class
memory_category: Instances
summary: ''
description: |
The base class for `Class.WrapTarget` and `Class.WrapLayer` objects. Note that
`Class.MeshPart` is the only valid parent type for `Class.BaseWrap` and that
it behaves more like a component of `Class.MeshPart` than an independent
object.
code_samples: []
inherits:
- Instance
descendants:
- WrapDeformer
- WrapLayer
- WrapTarget
tags:
- NotCreatable
deprecation_message: ''
properties:
- name: BaseWrap.CageMeshContent
summary: ''
description: ''
code_samples: []
type: Content
tags: []
deprecation_message: ''
security:
read: None
write: PluginSecurity
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BaseWrap.CageMeshId
summary: |
Asset ID for cage mesh.
description: |
This property is set up automatically by the 3D Importer.
Asset ID for cage mesh.
code_samples: []
type: ContentId
tags: []
deprecation_message: ''
security:
read: None
write: PluginSecurity
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BaseWrap.CageOrigin
summary: |
Cage mesh offset relative to parent `Class.MeshPart`.
description: |
This property is set up automatically by the 3D Importer.
Cage mesh offset relative to parent `Class.MeshPart`.
code_samples: []
type: CFrame
tags: []
deprecation_message: ''
security:
read: None
write: PluginSecurity
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BaseWrap.CageOriginWorld
summary: |
Cage mesh offset in world space.
description: |
Cage mesh offset in world space.
code_samples: []
type: CFrame
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Avatar
- name: BaseWrap.HSRAssetId
summary: ''
description: ''
code_samples: []
type: ContentId
tags: []
deprecation_message: ''
security:
read: RobloxScriptSecurity
write: RobloxEngineSecurity
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BaseWrap.ImportOrigin
summary: |
Describes where a global zero was while authoring the cage mesh in an
asset creation tool.
description: |
This property is set up automatically by the 3D Importer.
Describes where a global zero was while authoring the cage mesh in an
asset creation tool such as Blender or Maya. This property is not used by
the deformer but it is useful for tools/aligning scripts, for example
aligning two parts by matching their pivots as follows:
```lua
local function alignWraps()
local selectionService = game:GetService("Selection")
local selectedObjects = selectionService:Get()
local alignObjects = {}
for _, obj in selectedObjects do
if obj:IsA("BaseWrap") then
--print("Wrap: " .. obj.Name)
table.insert(alignObjects, obj)
else
print("Ignore: " .. obj.Name)
end
end
if #alignObjects < 2 then
warn("You need to select at least two wraps")
return
end
local anchorWrap = alignObjects[1]
local worldA_from_Wrap = anchorWrap.ImportOriginWorld
print("Anchor: " .. anchorWrap.Name)
for i = 2, #alignObjects do
local wrapToAlign = alignObjects[i]
print("Align: " .. wrapToAlign.Name)
local wrap_from_WorldB = wrapToAlign.ImportOriginWorld:Inverse()
local worldA_from_WorldB = worldA_from_Wrap * wrap_from_WorldB
local worldB = wrapToAlign.Parent.CFrame
-- Note: adjust CFrame of the parent part
wrapToAlign.Parent.CFrame = (worldB_from_WorldB * worldB)
end
end
```
code_samples: []
type: CFrame
tags: []
deprecation_message: ''
security:
read: None
write: PluginSecurity
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BaseWrap.ImportOriginWorld
summary: |
Describes where the origin (in world space) was while authoring the cage
mesh in an asset creation tool.
description: |
Describes where the origin (in world space) was while authoring the cage
mesh in an asset creation tool such as Blender or Maya.
code_samples: []
type: CFrame
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- Avatar
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,646 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: Beam
type: class
memory_category: Instances
summary: |
Connects two `Class.Attachment|Attachments` by drawing a texture between them.
description: |
A **Beam** object connects two `Class.Attachment|Attachments` by drawing a
texture between them.
To display, a beam must be a descendant of the `Class.Workspace` with its
`Class.Beam.Attachment0|Attachment0` and `Class.Beam.Attachment1|Attachment1`
properties set to `Class.Attachment|Attachments` also descending from the
`Class.Workspace`.
The beam's appearance can be customized using the range of properties outlined
below. Also see the [Beams](../../../effects/beams.md) guide for visual
examples.
#### Beam Curvature
Beams are configured to use a cubic Bézier curve formed by four control
points. This means they are not constrained to straight lines and the curve of
the beam can be modified by changing `Class.Beam.CurveSize0|CurveSize0`,
`Class.Beam.CurveSize1|CurveSize1`, and the orientation of the beam's
`Class.Attachment|Attachments`.
- **P0** — The start of the beam; position of
`Class.Beam.Attachment0|Attachment0`.
- **P1** — `Class.Beam.CurveSize0|CurveSize0` studs away from
`Class.Beam.Attachment0|Attachment0`, in the positive **X** direction of
`Class.Beam.Attachment0|Attachment0`.
- **P2** — `Class.Beam.CurveSize1|CurveSize1` studs away from
`Class.Beam.Attachment1|Attachment1`, in the negative **X** direction of
`Class.Beam.Attachment1|Attachment1`.
- **P3** — The end of the beam; position of
`Class.Beam.Attachment1|Attachment1`
<img src="/assets/engine-api/classes/Beam/Curvature-Diagram.png" width="800" alt="Beam curvature diagram" />
code_samples:
- Creating-a-Beam-From-Scratch
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: Beam.Attachment0
summary: |
The `Class.Attachment` the beam originates from.
description: |
The `Class.Attachment` the beam originates from. This attachment is the
first control point on the beam's cubic Bézier curve; its orientation,
alongside the `Class.Beam.CurveSize0|CurveSize0` property, determines the
position of the second control point. See
[Beams](../../../effects/beams.md#curve) for more details.
For the `Class.Attachment` where the beam ends, see
`Class.Beam.Attachment1|Attachment1`.
code_samples: []
type: Attachment
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Shape
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.Attachment1
summary: |
The `Class.Attachment` the beam ends at.
description: |
The `Class.Attachment` the beam ends at. This attachment is the fourth and
final control point on the beam's cubic Bézier curve; its orientation,
alongside the `Class.Beam.CurveSize1|CurveSize1` property, determines the
position of the third control point. See
[Beams](../../../effects/beams.md#curve) for more details.
For the `Class.Attachment` where the beam originates from, see
`Class.Beam.Attachment0|Attachment0`.
code_samples: []
type: Attachment
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Shape
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.Brightness
summary: |
Scales the light emitted from the beam when
`Class.Beam.LightInfluence|LightInfluence` is less than 1.
description: |
Scales the light emitted from the beam when
`Class.Beam.LightInfluence|LightInfluence` is less than 1. This property
is 1 by default and can set to any number within the range of 0 to 10000.
Increasing the value of `Class.Beam.LightInfluence|LightInfluence`
decreases the effect of this property's value.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.Color
summary: |
Determines the color of the beam across its
`Class.Beam.Segments|Segments`.
description: |
Determines the color of the beam across its
`Class.Beam.Segments|Segments`. If `Class.Beam.Texture|Texture` is set,
this color will be applied to the beam's texture. If no
`Class.Beam.Texture|Texture` is set, the `Class.Beam` will appear as a
solid line colored in accordance with this property.
This property is a `Datatype.ColorSequence`, allowing the color to be
configured to vary across the length of the beam. Consider the following
`Datatype.ColorSequence` which, when applied to a beam, would yield the
pictured result.
```lua
local colorSequence = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), -- Red
ColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 188, 203)), -- Cyan
ColorSequenceKeypoint.new(1, Color3.fromRGB(196, 0, 255)), -- Purple
}
)
```
<img src="/assets/lighting-and-effects/beam/ColorSequence-Applied.png" width="800" />
Note the beam's coloration also depends on the number of
`Class.Beam.Segments|Segments` the `Class.Beam` has. Each segment of the
beam can only show a transition between two colors. Therefore a
`Class.Beam` will need to have at least `n-1` segments in order for the
color to display correctly, where `n` is the number of
`Datatype.ColorSequenceKeypoint|ColorSequenceKeypoints` in the
`Datatype.ColorSequence`.
code_samples: []
type: ColorSequence
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.CurveSize0
summary: |
Determines, along with `Class.Beam.Attachment0|Attachment0`, the position
of the second control point in the beam's Bézier curve.
description: |
Determines, along with `Class.Beam.Attachment0|Attachment0`, the position
of the second control point in the beam's Bézier curve. See
[Beams](../../../effects/beams.md#curve) for more details.
The position of this point can be determined by the following equation:
```lua
local controlPoint2 = Beam.Attachment0.WorldPosition + (Beam.Attachment0.CFrame.RightVector * Beam.CurveSize0)
```
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Shape
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.CurveSize1
summary: |
Determines, along with `Class.Beam.Attachment1|Attachment1`, the position
of the third control point in the beam's Bézier curve.
description: |
Determines, along with `Class.Beam.Attachment1|Attachment1`, the position
of the third control point in the beam's Bézier curve. See
[Beams](../../../effects/beams.md#curve) for more details.
The position of this point can be determined by the following equation:
```lua
local controlPoint3 = Beam.Attachment1.WorldPosition - (Beam.Attachment1.CFrame.RightVector * Beam.CurveSize1)
```
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Shape
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.Enabled
summary: |
Determines whether the beam is visible or not.
description: |
Determines whether the beam is visible or not.
When this property is set to false, the beam's
`Class.Beam.Segments|Segments` will not be displayed.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.FaceCamera
summary: |
Determines whether the `Class.Beam.Segments|Segments` of the beam will
always face the camera, regardless of its orientation.
description: |
A `Class.Beam` is a 2D projection existing in 3D space, meaning that it
may not be visible from every angle. The **FaceCamera** property, when set
to `true`, ensures that the beam always faces the
`Class.Workspace.CurrentCamera|CurrentCamera`, regardless of its
orientation.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Shape
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.LightEmission
summary: |
Determines to what degree the colors of the beam are blended with the
colors behind it.
description: |
Determines to what degree the colors of the beam are blended with the
colors behind it. It should be set in the range of 0 to 1. A value of 0
uses normal blending modes and a value of 1 uses additive blending.
This property should not be confused with
`Class.Beam.LightInfluence|LightInfluence` which determines how the beam
is affected by environmental light.
This property does **not** cause the beam to light the environment.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.LightInfluence
summary: |
Determines the degree to which the beam is influenced by the environment's
lighting.
description: |
Determines the degree to which the beam is influenced by the environment's
lighting, clamped between 0 and 1. When 0, the beam will be unaffected by
the environment's lighting. When 1, it will be fully affected by lighting
as a `Class.BasePart` would be.
See also `Class.Beam.LightEmission|LightEmission` which specifies to what
degree the colors of the beam are blended with the colors behind it.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.LocalTransparencyModifier
summary: ''
description: ''
code_samples: []
type: float
tags:
- Hidden
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: false
can_save: false
capabilities:
- Basic
- name: Beam.Segments
summary: |
Sets how many straight segments the beam is made up of.
description: |
Rather than being a perfect curve, a beam is made up of straight segments.
The more segments, the higher the resolution of the curve. The
**Segments** property sets how many straight segments the beam is made up
of, with a default value of 10.
Note that the `Class.Beam.Color|Color` and
`Class.Beam.Transparency|Transparency` properties require a certain number
of segments to display correctly. This is because each segment can only
show a transition between two colors or transparencies. Therefore a
`Class.Beam` requires at least `n-1` segments to display correctly, where
`n` is the number of keypoint associated with the beam's
`Class.Beam.Color|Color` and `Class.Beam.Transparency|Transparency`.
code_samples: []
type: int
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Shape
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.Texture
summary: |
The content ID of the texture to be displayed on the beam.
description: |
The content ID of the texture to be displayed on the beam. If this
property is not set, the beam will be displayed as a solid line; this also
occurs when the texture is set to an invalid content ID or the image
associated with the texture has not yet loaded.
The appearance of the texture can be further modified by other beam
properties including `Class.Beam.Color|Color` and
`Class.Beam.Transparency|Transparency`.
Scaling of the texture is determined by the
`Class.Beam.TextureMode|TextureMode`,
`Class.Beam.TextureLength|TextureLength`, `Class.Beam.Width0|Width0`, and
`Class.Beam.Width1|Width1` properties.
code_samples: []
type: ContentId
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.TextureLength
summary: |
Sets the length of the beam's texture, dependent on
`Class.Beam.TextureMode|TextureMode`.
description: |
Sets the length of the beam's texture, dependent on
`Class.Beam.TextureMode|TextureMode`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.TextureMode
summary: |
Determines the manner in which the `Class.Beam.Texture|Texture` scales and
repeats.
description: |
This property, alongside `Class.Beam.TextureLength|TextureLength`,
determines how a beam's `Class.Beam.Texture|Texture` repeats.
When set to `Enum.TextureMode.Wrap` or `Enum.TextureMode.Static`, the
texture repetitions will equal the beam's overall length (in&nbsp;studs)
divided by its `Class.Beam.TextureLength|TextureLength`.
<img src="/assets/engine-api/enums/TextureMode/Wrap-Static.png" width="720" alt="TextureMode diagram with Wrap mode" />
When set to `Enum.TextureMode.Stretch`, the texture will repeat
`Class.Beam.TextureLength|TextureLength` times across the beam's overall
length.
<img src="/assets/engine-api/enums/TextureMode/Stretch.png" width="720" alt="TextureMode diagram with Stretch mode" />
code_samples: []
type: TextureMode
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.TextureSpeed
summary: |
Determines the speed at which the `Class.Beam.Texture|Texture` image moves
along the beam.
description: |
Determines the speed at which the `Class.Beam.Texture|Texture` image moves
along the beam. When this property is a positive value, the beam's texture
will move from `Class.Beam.Attachment0|Attachment0` to
`Class.Beam.Attachment1|Attachment1`. This direction can be inverted by
setting this property to a negative number.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.Transparency
summary: |
Determines the transparency of the beam across its segments.
description: |
Determines the transparency of the beam across its segments. This property
is a `Datatype.NumberSequence`, allowing the transparency to be configured
to vary across the length of the beam.
Consider the following `Datatype.NumberSequence` which, when applied to a
beam, would yield the pictured result.
```lua
local numberSequence = NumberSequence.new({
NumberSequenceKeypoint.new(0, 0), -- Opaque
NumberSequenceKeypoint.new(0.5, 1), -- Transparent
NumberSequenceKeypoint.new(1, 0), -- Opaque
}
)
```
<img src="/assets/lighting-and-effects/beam/Transparency-Applied.png" width="800" />
Note that the beam's transparency also depends on the number of
`Class.Beam.Segments|Segments`. Each segment of the beam can only show a
transition between two transparencies. Therefore a beam will need to have
at least `n-1` segments in order to display correctly, where `n` is the
number of `Datatype.NumberSequenceKeypoint|NumberSequenceKeypoints` in the
`Datatype.NumberSequence`.
code_samples: []
type: NumberSequence
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.Width0
summary: |
The width of the beam at its origin
(`Class.Beam.Attachment0|Attachment0`), in studs.
description: |
The width of the beam at its origin
(`Class.Beam.Attachment0|Attachment0`), in studs. The beam's width will
change linearly to `Class.Beam.Width1|Width1` studs at its end
(`Class.Beam.Attachment1|Attachment1`).
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Shape
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.Width1
summary: |
The width of the beam at its end (`Class.Beam.Attachment1|Attachment1`),
in studs.
description: |
The width of the beam at its end (`Class.Beam.Attachment1|Attachment1`),
in studs. The beam's width will change linearly from
`Class.Beam.Width0|Width0` studs at its origin
(`Class.Beam.Attachment0|Attachment0`).
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Shape
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: Beam.ZOffset
summary: |
The distance, in studs, the beam display is offset relative to the
`Class.Workspace.CurrentCamera|CurrentCamera`.
description: |
The distance, in studs, the beam display is offset relative to the
`Class.Workspace.CurrentCamera|CurrentCamera`. When 0, the beam will be
displayed in its standard position between
`Class.Beam.Attachment0|Attachment0` and
`Class.Beam.Attachment1|Attachment1`. **ZOffset** can be either positive
or negative.
This property is particularly useful to avoid "Z‑fighting" when using
multiple `Class.Beam|Beams` between the same
`Class.Attachment|Attachments`.
code_samples:
- Beam-ZOffset
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Basic
methods:
- name: Beam:SetTextureOffset
summary: |
Sets the current offset of the beam's texture cycle.
description: |
The offset of a beam's texture cycle represents the progress of its
texture animation. This method sets the current offset of the beam's
texture cycle; hence, it can be used to reset the cycle by passing `0` as
the `offset` parameter.
#### Notes
- The given `offset` parameter is expected to be a value between 0 and 1,
but greater values can be used.
- The texture cycle wraps at 0 and 1, meaning the texture is in the same
position when the offset is at 0 or 1.
- If the `Class.Beam.Texture|Texture` property is not set, this method
does nothing.
- Increasing the offset will act in the inverse direction to the
`Class.Beam.TextureSpeed|TextureSpeed` property, meaning it will move
the texture in the opposite direction to the direction the texture
animates when `Class.Beam.TextureSpeed|TextureSpeed` is greater than 0.
code_samples: []
parameters:
- name: offset
type: float
default: 0
summary: |
The desired offset of the texture cycle.
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Basic
events: []
callbacks: []

View file

@ -0,0 +1,33 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BevelMesh
type: class
memory_category: Instances
summary: |
An abstract class that `Class.BlockMesh` and `Class.CylinderMesh` inherit
from.
description: |
BevelMesh is an abstract class that `Class.BlockMesh` and `Class.CylinderMesh`
inherit from.
code_samples: []
inherits:
- DataModelMesh
descendants:
- BlockMesh
- CylinderMesh
tags:
- NotCreatable
- NotBrowsable
- Deprecated
deprecation_message: |
This object serves no purpose other than being an abstract class that
`Class.BlockMesh` and `Class.CylinderMesh` inherit from. Note non-character
beveled parts were removed in 2013. Developers looking for beveled edges are
required to use either `Class.UnionOperation|UnionOperations` or
`Class.MeshPart|MeshParts`.
properties: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,571 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BillboardGui
type: class
memory_category: Instances
summary: |
A container for `Class.GuiObject|GuiObjects` that renders in 3D space facing
the camera.
description: |
`Class.BillboardGui` is a container for UI objects to appear in the 3D space
but always face the camera. The container's position is relative to the parent
`Class.BasePart` or `Class.Attachment` (or the
`Class.BillboardGui.Adornee|Adornee`). For `Class.BasePart|BaseParts`, the
`Class.BasePart.Position|Position` property is used, while for
`Class.Attachment|Attachments`, the
`Class.Attachment.WorldPosition|WorldPosition` property is used.
<img src="/assets/ui/in-experience/BillboardGui-Diagram.jpg" width="800" alt="BillboardGui with a TextLabel describing the screen console it floats above." />
A billboard's `Class.BillboardGui.Size|Size` property works slightly
differently than `Class.GuiObject.Size`. While the **offset** components work
the same, the **scale** components are used as stud sizes in 3D space.
When creating a size-scaled `Class.BillboardGui` that contains a
`Class.TextLabel`, it's useful to enable the label's
`Class.TextLabel.TextScaled|TextScaled` property so that its text scales along
with the billboard canvas as the camera distance changes.
Note that interactive UI elements like `Class.ImageButton|ImageButtons` and
`Class.TextButton|TextButtons` inside a `Class.BillboardGui` will only receive
user input if they are parented to the `Class.PlayerGui`, typically via
placing the `Class.BillboardGui` inside `Class.StarterGui`. The
`Class.BillboardGui.Adornee|Adornee` property can be used to target a part or
attachment in the 3D world while the `Class.BillboardGui` itself remains in
the `Class.PlayerGui`.
See [In-Experience UI](../../../ui/in-experience-containers.md#billboard-ui)
for a guide on working with `Class.BillboardGui` containers.
##### Caching Behavior
To help improve performance, the appearance of a `Class.BillboardGui` is
cached until one of the following occurs, after which its appearance will be
recomputed on the next rendering frame.
- A descendant is added to or removed from the `Class.BillboardGui`.
- A property of a descendant of the `Class.BillboardGui` changes.
- A property of the `Class.BillboardGui` itself changes.
code_samples: []
inherits:
- LayerCollector
descendants: []
tags: []
deprecation_message: ''
properties:
- name: BillboardGui.Active
summary: |
Controls whether the descendants will receive input events.
description: |
Controls whether the descendants will receive input events. If the
`Class.BillboardGui` contains a `Class.GuiButton`, that button will become
clickable only if `Class.BillboardGui.Active|Active` is set to `true` on
both the `Class.BillboardGui` **and** the button.
Note that interactive UI elements like `Class.ImageButton|ImageButtons`
and `Class.TextButton|TextButtons` inside a `Class.BillboardGui` will only
receive user input if they are parented to the `Class.PlayerGui`,
typically via placing the `Class.BillboardGui` inside `Class.StarterGui`.
The `Class.BillboardGui.Adornee|Adornee` property can be used to target a
part or attachment in the 3D world while the `Class.BillboardGui` itself
remains in the `Class.PlayerGui`.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.Adornee
summary: |
Sets the target part or attachment that the `Class.BillboardGui` is
positioned relative to.
description: |
Sets the target `Class.BasePart` or `Class.Attachment` that the
`Class.BillboardGui` is positioned relative to, overriding the parent part
or attachment.
code_samples: []
type: Instance
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.AlwaysOnTop
summary: |
Determines whether the `Class.BillboardGui` will always be rendered on top
of other 3D objects.
description: |
This property determines whether the `Class.BillboardGui` will always
render on top of other 3D objects.
When set to `false` (default), the `Class.BillboardGui` renders like other
3D content and is occluded by other 3D objects. When set to `true`, the
`Class.BillboardGui` always renders on top of 3D content and the
appearance changes significantly:
- Colors match how they appear inside a `Class.ScreenGui`.
- Text may appear sharper on high DPI devices.
- `Class.BillboardGui.LightInfluence|LightInfluence` is treated as though
it's `0`.
- `Class.BillboardGui.Brightness|Brightness` has no effect.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.Brightness
summary: |
Determines the factor by which the `Class.BillboardGui` container's light
is scaled when `Class.BillboardGui.LightInfluence|LightInfluence` is `0`.
description: |
This property determines the factor by which the `Class.BillboardGui`
container's light is scaled when
`Class.BillboardGui.LightInfluence|LightInfluence` is `0`. By default,
this property is `1` and can be set to any number between `0` and `1000`.
By modifying this property, the apparent brightness of a
`Class.BillboardGui` can be better matched to its environment. For
instance, a video billboard can be brightened inside a dark room by
increasing `Class.BillboardGui.Brightness|Brightness` to `10`.
Note that `Class.BillboardGui.Brightness|Brightness` is inaccessible in
Studio and has no effect when either
`Class.BillboardGui.LightInfluence|LightInfluence` is `1` or
`Class.BillboardGui.AlwaysOnTop|AlwaysOnTop` is `true`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.ClipsDescendants
summary: |
Whether portions of `Class.GuiObject|GuiObjects` that fall outside of the
`Class.BillboardGui` canvas borders will be drawn.
description: |
When set to `true` (default), portions of `Class.GuiObject|GuiObjects`
that fall outside of the `Class.BillboardGui` canvas borders will not be
drawn.
Even when this property is `false`, `Class.GuiObject|GuiObjects` that are
**completely** outside of the canvas will not render.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.CurrentDistance
summary: |
The current distance in studs that the `Class.BillboardGui` is from the
player's camera.
description: |
The current distance in studs that the `Class.BillboardGui` is from the
player's camera. A changed event does not fire for this property unless
`Class.BillboardGui.DistanceStep|DistanceStep` is more than `0`.
code_samples: []
type: float
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: false
can_save: false
capabilities:
- UI
- name: BillboardGui.DistanceLowerLimit
summary: |
Determines the distance in studs at which the `Class.BillboardGui` will
stop scaling larger in size.
description: |
Determines the distance in studs at which the `Class.BillboardGui` will
stop scaling larger in size relative to the player's current camera, with
a default of `0`. If the
`Class.BillboardGui.CurrentDistance|CurrentDistance` of the
`Class.BillboardGui` is below this value, it will not scale any larger
than it would at this distance.
code_samples: []
type: float
tags:
- Deprecated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.DistanceStep
summary: |
Determines the size `Class.BillboardGui.CurrentDistance|CurrentDistance`
increments and decrements in studs as the player's camera moves closer and
further from the `Class.BillboardGui`.
description: |
Determines the size `Class.BillboardGui.CurrentDistance|CurrentDistance`
increments and decrements in studs as the player's camera moves closer and
further from the `Class.BillboardGui`. The property defaults to `0`.
code_samples: []
type: float
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: false
capabilities:
- UI
- name: BillboardGui.DistanceUpperLimit
summary: |
Determines the distance in studs at which the `Class.BillboardGui` will
stop scaling smaller in size.
description: |
Determines the distance in studs at which the `Class.BillboardGui` will
stop scaling smaller in size relative to the player's current camera. If
the `Class.BillboardGui.CurrentDistance|CurrentDistance` of the
`Class.BillboardGui` is above this value, it will not scale any smaller
than it would at this distance.
This property is ignored if the value is less than `0`. The default value
is `-1`, meaning the property is ignored by default.
code_samples: []
type: float
tags:
- Deprecated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.ExtentsOffset
summary: |
Determines how the `Class.BillboardGui` is offset from its
`Class.BillboardGui.Adornee|Adornee`, relative to the `Class.Camera`
orientation, in units half the dimensions of the model's
`Class.Camera`-aligned bounding box.
description: |
This property determines how the `Class.BillboardGui` is offset from its
`Class.BillboardGui.Adornee|Adornee`, relative to the `Class.Camera`
orientation, in units half the dimensions of the model's
`Class.Camera`-aligned bounding box.
See also `Class.BillboardGui.StudsOffset|StudsOffset` which works
similarly but uses stud units, or
`Class.BillboardGui.ExtentsOffsetWorldSpace|ExtentsOffsetWorldSpace` which
works similarly except the offset orientation is relative to the global
axes.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.ExtentsOffsetWorldSpace
summary: |
Determines how the `Class.BillboardGui` is offset from its
`Class.BillboardGui.Adornee|Adornee`, relative to the global axes, in
units half the dimensions of the model's axis-aligned bounding box.
description: |
This property determines how the `Class.BillboardGui` is offset from its
`Class.BillboardGui.Adornee|Adornee`, relative to the global axes, in
units half the dimensions of the model's axis-aligned bounding box.
See also `Class.BillboardGui.StudsOffset|StudsOffset` which works
similarly but uses stud units, or
`Class.BillboardGui.ExtentsOffset|ExtentsOffset` which works similarly
except the offset orientation is relative to the `Class.Camera`.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.LightInfluence
summary: |
Controls how much the `Class.BillboardGui` is influenced by environmental
lighting.
description: |
Controls how much the `Class.BillboardGui` is influenced by environmental
lighting, in a range from `0` to `1`. Setting this to `1` means that
surrounding lighting has complete control over the appearance, while
setting it to `0` means that the lighting has no effect.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.MaxDistance
summary: |
Controls how far away the `Class.BillboardGui` can be displayed before it
stops rendering.
description: |
This property controls how far from the camera the `Class.BillboardGui`
will be displayed before it stops rendering. A value of `0` or `inf`
(default) means there is no limit and it will render infinitely far away.
For `Class.BillboardGui|BillboardGuis` that appear outdoors, it's
recommended that `Class.BillboardGui.MaxDistance|MaxDistance` is high
enough to ensure that the container's UI is sufficiently small on the
screen when it appears or disappears, minimizing the sudden pop‑in/out
effect.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.PlayerToHideFrom
summary: |
Used by scripts to hide the `Class.BillboardGui` from a specific player.
description: |
Used by scripts to hide the `Class.BillboardGui` from a specific player.
To hide a `Class.BillboardGui` from more than one player, place it into
`Class.StarterGui` and use a script to set the
`Class.BillboardGui.Enabled|Enabled` property according to whether the
`Class.Players.LocalPlayer|LocalPlayer` should be able to see it. The
`Class.BillboardGui.Adornee|Adornee` property can be used to attach the
`Class.BillboardGui` to a `Class.BasePart` or `Class.Attachment` in the
`Class.Workspace`, instead of parenting it.
code_samples: []
type: Instance
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.Size
summary: |
Controls the size that the `Class.BillboardGui` will have on screen.
description: |
Controls the size that the `Class.BillboardGui` will have on screen.
Unlike `Class.GuiObject.Size`, the
[scale](../../../ui/position-and-size.md#size) components of this property
set the billboard's stud size in 3D space.
code_samples: []
type: UDim2
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.SizeOffset
summary: |
A 2D offset in size-relative units that acts like an anchor point.
description: |
A 2D offset in size-relative units that acts like an anchor point. This
can be used similarly to the `Class.GuiObject.AnchorPoint` property, but
the values are different.
<table size="small">
<thead>
<th>Size Offset</th>
<th>Explanation</th>
</thead>
<tbody>
<tr>
<td><code>0, 0</code></td>
<td>The default in which UI will be anchored at its center.</td>
</tr>
<tr>
<td><code>0.5, 0.5</code></td>
<td>UI will anchor at the bottom left.</td>
</tr>
<tr>
<td><code>0.5, -0.5</code></td>
<td>UI will anchor at the top left.</td>
</tr>
<tr>
<td><code>-0.5, 0.5</code></td>
<td>UI will anchor at the top right.</td>
</tr>
<tr>
<td><code>-0.5, -0.5</code></td>
<td>UI will anchor at the bottom right.</td>
</tr>
</tbody>
</table>
See also `Class.BillboardGui.StudsOffset|StudsOffset`,
`Class.BillboardGui.StudsOffsetWorldSpace|StudsOffsetWorldSpace`,
`Class.BillboardGui.ExtentsOffset|ExtentsOffset`, and
`Class.BillboardGui.ExtentsOffsetWorldSpace|ExtentsOffsetWorldSpace` which
are offset properties that work in 3D space instead.
code_samples: []
type: Vector2
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.StudsOffset
summary: |
Determines how the `Class.BillboardGui` is offset from its
`Class.BillboardGui.Adornee|Adornee` in studs, relative to the
`Class.Camera` orientation.
description: |
This property determines how the `Class.BillboardGui` is offset from its
`Class.BillboardGui.Adornee|Adornee` in studs, relative to the
`Class.Camera` orientation.
See also `Class.BillboardGui.StudsOffsetWorldSpace|StudsOffsetWorldSpace`
which works similarly except the offset orientation is relative to the
global axes.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
- name: BillboardGui.StudsOffsetWorldSpace
summary: |
Determines how the `Class.BillboardGui` is offset from its
`Class.BillboardGui.Adornee|Adornee` in studs, relative to the global
axes.
description: |
This property determines how the `Class.BillboardGui` is offset from its
`Class.BillboardGui.Adornee|Adornee` in studs, relative to the global
axes.
See also `Class.BillboardGui.StudsOffset|StudsOffset` which works
similarly except the offset orientation is relative to the `Class.Camera`.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- UI
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,49 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BinaryStringValue
type: class
memory_category: Instances
summary: |
An internal type of `Class.StringValue` object, that stores a `BinaryString`
value.
description: |
An internal type of `Class.StringValue` object, that stores a `BinaryString`
value.
code_samples: []
inherits:
- ValueBase
descendants: []
tags: []
deprecation_message: ''
properties: []
methods: []
events:
- name: BinaryStringValue.Changed
summary: |
Fires if the BinaryStringValue's value is changed.
description: |
Fires if the `Class.BinaryStringValue.Value` of the
`Class.BinaryStringValue` is changed by the engine.
In practice, this object is stored out of reach from normal scripts, so
this event cannot be connected to. If a BinaryStringValue is created by a
script, the engine will not do anything with it, so the event will never
fire.
Equivalent changed events exist for similar objects, such as
`Class.NumberValue` and `Class.StringValue`, depending on what object type
best suits the need.
code_samples: []
parameters:
- name: value
type: BinaryString
default:
summary: |
The new value after the change.
tags: []
deprecation_message: ''
security: None
capabilities: []
callbacks: []

View file

@ -0,0 +1,106 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BindableEvent
type: class
memory_category: Instances
summary: |
An object which enables custom events through asynchronous one-way
communication between scripts on the same side of the client-server boundary.
Scripts firing a `Class.BindableEvent` do not yield.
description: |
The **BindableEvent** object enables custom events through asynchronous
one-way communication between scripts on the same side of the
[client-server](../../../projects/client-server.md) boundary. When you fire a
`Class.BindableEvent` through the `Class.BindableEvent:Fire()` method, the
firing script does **not** yield and the target function receives the passed
arguments with certain [limitations](#argument-limitations).
`Class.BindableEvent|BindableEvents` create threads of each connected
function, so even if one firing errors, others continue.
As an alternative for two-way communication between two scripts on the same
side of the client-server boundary, consider `Class.BindableFunction`.
As stated, `Class.BindableEvent|BindableEvents` do not allow for communication
between the server and clients. If you are looking for this functionality, use
a `Class.RemoteEvent` as outlined in
[Remote Events and Callbacks](../../../scripting/events/remote.md).
See [Bindable events and callbacks](../../../scripting/events/bindable.md) for
code samples and further details on `Class.BindableEvent`.
#### Parameter Limitations
Any type of Roblox object such as an `Datatype.Enum`, `Class.Instance`, or
others can be passed as a parameter when a `Class.BindableEvent` is fired, as
well as Luau types such as numbers, strings, and booleans, although you should
carefully explore the
[limitations](../../../scripting/events/bindable.md#argument-limitations).
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties: []
methods:
- name: BindableEvent:Fire
summary: |
Fires the `Class.BindableEvent` which in turn fires the
`Class.BindableEvent.Event|Event` event.
description: |
Fires the `Class.BindableEvent` which in turn fires the
`Class.BindableEvent.Event|Event` event. This method does not yield, even
if no script has connected to the event, and even if a connected function
yields.
Any type of Roblox object such as an `Datatype.Enum`, `Class.Instance`, or
others can be passed as a parameter to
`Class.BindableEvent:Fire()|Fire()`, as well as Luau types such as
numbers, strings, and booleans, although you should carefully explore the
[limitations](../../../scripting/events/bindable.md#argument-limitations).
See [Bindable events and callbacks](../../../scripting/events/bindable.md)
for code samples and further details on
`Class.BindableEvent:Fire()|Fire()`.
code_samples: []
parameters:
- name: arguments
type: Tuple
default:
summary: |
Values to pass to `Class.BindableEvent.Event|Event` events connected
to the same `Class.BindableEvent`.
returns:
- type: ()
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Safe
capabilities: []
events:
- name: BindableEvent.Event
summary: |
Fires when any script calls the `Class.BindableEvent:Fire()|Fire()` method
on the same `Class.BindableEvent` instance.
description: |
Fires when any script calls the `Class.BindableEvent:Fire()|Fire()` method
on the same `Class.BindableEvent` instance, using the same arguments as
parameters.
See [Bindable events and callbacks](../../../scripting/events/bindable.md)
for code samples and further details on `Class.BindableEvent.Event|Event`.
code_samples: []
parameters:
- name: arguments
type: Tuple
default:
summary: |
The parameters sent through `Class.BindableEvent:Fire()|Fire()`.
tags: []
deprecation_message: ''
security: None
capabilities: []
callbacks: []

View file

@ -0,0 +1,127 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BindableFunction
type: class
memory_category: Instances
summary: |
An object which allows for synchronous two-way communication between scripts
on the same side of the client-server boundary. Scripts invoking a
`Class.BindableFunction` yield until the corresponding callback is found.
description: |
The **BindableFunction** object allows for synchronous two-way communication
between scripts on the same side of the
[client-server](../../../projects/client-server.md) boundary. You can use it
to define a custom callback function and invoke it manually by calling
`Class.BindableFunction:Invoke()`. The code invoking the function **yields**
until the corresponding callback is found, and the callback receives the
arguments that you passed to `Class.BindableFunction:Invoke()|Invoke()`. If
the callback was never set, the script that invokes it will not resume
execution.
As an alternative for one-way communication between two scripts on the same
side of the client-server boundary, consider `Class.BindableEvent` which does
**not** yield for a return.
As stated, `Class.BindableFunction|BindableFunctions` do not allow for
communication between the server and clients. If you are looking for this
functionality, use a `Class.RemoteFunction` as outlined in
[Remote events and callbacks](../../../scripting/events/remote.md).
See [Bindable events and callbacks](../../../scripting/events/bindable.md) for
code samples and further details on `Class.BindableFunction`.
#### Parameter Limitations
Any type of Roblox object such as an `Datatype.Enum`, `Class.Instance`, or
others can be passed as a parameter when a `Class.BindableFunction` is
invoked, as well as Luau types such as numbers, strings, and booleans,
although you should carefully explore the
[limitations](../../../scripting/events/bindable.md#argument-limitations).
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties: []
methods:
- name: BindableFunction:Invoke
summary: |
Invokes the `Class.BindableFunction` which in turn calls the
`Class.BindableFunction.OnInvoke|OnInvoke` callback, returning any values
returned by the callback.
description: |
Invokes the `Class.BindableFunction` which in turn calls the
`Class.BindableFunction.OnInvoke|OnInvoke` callback, returning any values
returned by the callback. Invocations yield until the corresponding
callback is found, and if the callback was never set, the script that
invokes it will not resume execution.
Any type of Roblox object such as an `Datatype.Enum`, `Class.Instance`, or
others can be passed as a parameter to
`Class.BindableFunction:Invoke()|Invoke()`, as well as Luau types such as
numbers, strings, and booleans, although you should carefully explore the
[limitations](../../../scripting/events/bindable.md#argument-limitations).
Only one function can be bound to
`Class.BindableFunction:Invoke()|Invoke()` at a time. If you assign
multiple functions, only the last one assigned will be used.
See [Bindable events and callbacks](../../../scripting/events/bindable.md)
for code samples and further details on
`Class.BindableFunction:Invoke()|Invoke()`.
code_samples: []
parameters:
- name: arguments
type: Tuple
default:
summary: |
Values to pass to the `Class.BindableFunction.OnInvoke|OnInvoke`
callback.
returns:
- type: Tuple
summary: |
Values returned from the `Class.BindableFunction.OnInvoke|OnInvoke`
callback.
tags:
- Yields
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
events: []
callbacks:
- name: BindableFunction.OnInvoke
summary: |
Callback for when the `Class.BindableFunction` is invoked with
`Class.BindableFunction:Invoke()|Invoke()`.
description: |
This callback is called when the `Class.BindableFunction` is invoked with
`Class.BindableFunction:Invoke()|Invoke()`. It can be set multiple times
but cannot be called directly. Invocations will yield until this callback
is found and, if it is never set, the script that invoked it will not
resume execution.
See [Bindable events and callbacks](../../../scripting/events/bindable.md)
for code samples and further details on
`Class.BindableFunction.OnInvoke|OnInvoke`.
code_samples: []
parameters:
- name: arguments
type: Tuple
default:
summary: |
The parameters sent through
`Class.BindableFunction:Invoke()|Invoke()`.
returns:
- type: Tuple
summary: |
Values returned by the callback function.
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities: []
writeCapabilities: []

View file

@ -0,0 +1,44 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BlockMesh
type: class
memory_category: BaseParts
summary: |
The BlockMesh object applies a 'brick' mesh to the `Class.BasePart` it is
parented to. It behaves identically to a `Class.SpecialMesh` with
`Class.SpecialMesh.MeshType` set to 'Brick'.
description: |
The BlockMesh object applies a 'brick' mesh to the `Class.BasePart` it is
parented to. It behaves identically to a `Class.SpecialMesh` with
`Class.SpecialMesh.MeshType` set to 'brick'.
## What does a BlockMesh do?
A BlockMesh gives the `Class.BasePart` it was applied to a brick shaped mesh.
It is identical in appearance to a standard Roblox `Class.Part`.
The dimensions of the mesh will scale linearly in all directions with
`Class.BasePart.Size`, this means a part containing a BlockMesh can be resized
the same way as any other part.
The additional functionality a BlockMesh brings however, is the ability to set
the `Class.DataModelMesh.Scale` and `Class.DataModelMesh.Offset` properties.
These allow the position and dimensions of the mesh that is displayed to be
changed without changing the `Class.BasePart.Position` or
`Class.BasePart.Size` of the `Class.BasePart` the mesh is parented to.
Note as the `Class.BlockMesh` object does not include a texture the
`Class.DataModelMesh.VertexColor` property does not do anything.
code_samples:
- BlockMesh-Instantiation
inherits:
- BevelMesh
descendants: []
tags: []
deprecation_message: ''
properties: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,97 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BloomEffect
type: class
memory_category: Instances
summary: |
Simulates the camera viewing a very bright light.
description: |
The **BloomEffect** simulates the camera viewing a very bright light. It
causes brighter colors to glow, similar to applying the neon
`Class.BasePart.Material|Material` to everything, including the `Class.Sky`.
Multiple **BloomEffect** objects can be applied at once and they will compose
their effects together.
Like other post-processing effects, **BloomEffect** will only work while
`Class.PostEffect.Enabled|Enabled` and when parented to `Class.Lighting` or
`Class.Workspace.CurrentCamera`. Also, it may render differently depending on
your Studio settings (see the **Quality Level** settings in **Rendering**
&rarr; **Performance**).
For more details on this effect and others, see
[Post-Processing Effects](../../../environment/post-processing-effects.md).
code_samples: []
inherits:
- PostEffect
descendants: []
tags: []
deprecation_message: ''
properties:
- name: BloomEffect.Intensity
summary: |
Determines the additive blending intensity.
description: |
Intensity determines how intensely the colors that bloom (determined by
the `Class.BloomEffect.Threshold|Threshold`) will additively blend with
themselves. Higher values will produce brighter colors.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Environment
- name: BloomEffect.Size
summary: |
Determines the radius of the bloom in pixels.
description: |
Size determines the radius of the bloom effect in pixels in a similar
manner to `Class.BlurEffect.Size`. Larger values create a wider bloom
effect, and a value of 0 will disable the bleed (but not the color
adjustment).
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Environment
- name: BloomEffect.Threshold
summary: |
Determines how bright a color must be before it blooms.
description: |
Threshold determines how bright a color can be before it blooms. If set to
1, only pure white colors will bloom. If set to 0, all colors will bloom.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Environment
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,53 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BlurEffect
type: class
memory_category: Instances
summary: |
Applies a blur to the entire game world.
description: |
The **BlurEffect** applies a Gaussian blur to the entire rendered game world.
The strength of the blur is controlled by the `Class.BlurEffect.Size`. Only
one **BlurEffect** can be applied at once (the instance with the greatest
`Class.BlurEffect.Size|Size` takes priority).
Like other post-processing effects, **BlurEffect** will only work while
`Class.PostEffect.Enabled|Enabled` and when parented to `Class.Lighting` or
`Class.Workspace.CurrentCamera`. Also, it may render differently on low-end
devices and/or depending on your Studio settings (see the **Quality Level**
settings in **Rendering** &rarr; **Performance**).
For more details on this effect and others, see
[Post-Processing Effects](../../../environment/post-processing-effects.md).
code_samples: []
inherits:
- PostEffect
descendants: []
tags: []
deprecation_message: ''
properties:
- name: BlurEffect.Size
summary: |
Determines the blur radius.
description: |
Size controls the blur radius, measured in pixels. The larger the size,
the blurrier the screen will become.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: State
serialization:
can_load: true
can_save: true
capabilities:
- Environment
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,150 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BodyAngularVelocity
type: class
memory_category: Instances
summary: |
Applies a torque to maintain a constant angular velocity.
description: |
The `BodyAngularVelocity` object applies a torque (rotational force) on an
assembly such that it maintains a constant angular velocity as determined by
its `Class.BodyAngularVelocity.AngularVelocity|AngularVelocity` property. This
allows for the creation of assemblies that continually rotate. It is the
rotational counterpart to a `Class.BodyVelocity`. If you would like to
maintain a constant angular displacement, use a `Class.BodyGyro` instead.
code_samples: []
inherits:
- BodyMover
descendants: []
tags:
- Deprecated
deprecation_message: |
This object is deprecated and should not be used for new work. Use
`Class.AngularVelocity` instead, and see the
[legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
properties:
- name: BodyAngularVelocity.AngularVelocity
summary: |
Determines the axis of rotation (direction) and the rotational velocity
(magnitude) in radians/s.
description: |
This property is a `Datatype.Vector3` which determines the goal angular
velocity a `Class.BodyAngularVelocity` should maintain through the
exertion of torque. For this property, the direction of the vector is the
axis of rotation. The magnitude is the angular velocity in **radians per
second**.
You can multiply a `Datatype.Vector3` by `Library.math.rad(360)`, or `2π`,
in order to convert angular frequency (rotations per second) into the
desired angular velocity (radians per second).
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyAngularVelocity.angularvelocity
summary: ''
description: ''
code_samples: []
type: Vector3
tags:
- NotReplicated
- Deprecated
deprecation_message: |
This deprecated property is a variant of
`Class.BodyAngularVelocity.AngularVelocity` which should be used instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: false
capabilities:
- Physics
- name: BodyAngularVelocity.MaxTorque
summary: |
Determines the limit of torque that may be exerted on each world axis.
description: |
This property determines the limit of the torque that may be exerted on
each world axis. If an assembly isn't moving, consider raising this value
and also check that it is not `Class.BasePart.Anchored|Anchored` or
attached to another anchored assembly). See also
`Class.BodyAngularVelocity.P|P` (power).
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyAngularVelocity.maxTorque
summary: |
Determines how much force can be applied to each axis.
description: |
The maxTorque property is a deprecated variant of
`Class.BodyAngularVelocity.MaxTorque` that lets you set how much force
could be applied to each axis.
code_samples: []
type: Vector3
tags:
- NotReplicated
- Deprecated
deprecation_message: |
This deprecated property is a variant of
`Class.BodyAngularVelocity.MaxTorque` which should be used instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: false
capabilities:
- Physics
- name: BodyAngularVelocity.P
summary: |
Determines how aggressive of a torque is applied in reaching the goal
angular velocity.
description: |
This property determines how much power is used while applying torque in
order to reach the goal
`Class.BodyAngularVelocity.AngularVelocity|AngularVelocity`. The higher
this value, the more power will be used and the faster it will be used.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,283 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BodyColors
type: class
memory_category: Instances
summary: |
For a Humanoid character, the BodyColors will specify the colors for the
different body parts.
description: |
BodyColors is a utility object used by Roblox to load avatar body colors from
the website. Avatars that are loaded from the website will automatically have
a BodyColors object corresponding to said avatar's body color configuration.
When parented inside of a character with a `Class.Humanoid`, it will apply the
colors to each specified limb.
code_samples: []
inherits:
- CharacterAppearance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: BodyColors.HeadColor
summary: |
Sets the color of the head, as a `Datatype.BrickColor`.
description: |
Sets the color of the head, as a `Datatype.BrickColor`.
Setting this will also set `Class.BodyColors.HeadColor3`.
code_samples: []
type: BrickColor
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: false
capabilities:
- Avatar
- name: BodyColors.HeadColor3
summary: |
Sets the color of the head, as a `Datatype.Color3`.
description: |
Sets the color of the head, as a `Datatype.Color3`.
Setting this will also set HeadColor to the closest `Datatype.BrickColor`.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BodyColors.LeftArmColor
summary: |
Sets the color of the left arm, as a `Datatype.BrickColor`.
description: |
Sets the color of the left arm, as a `Datatype.BrickColor`.
Setting this will also set BodyColors.LeftArmColor3
code_samples: []
type: BrickColor
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: false
capabilities:
- Avatar
- name: BodyColors.LeftArmColor3
summary: |
Sets the color of the left arm, as a `Datatype.Color3`.
description: |
Sets the color of the left arm, as a `Datatype.Color3`.
Setting this will also set LeftArmColor to the closest
`Datatype.BrickColor`.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BodyColors.LeftLegColor
summary: |
Sets the color of the left leg, as a `Datatype.BrickColor`.
description: |
Sets the color of the left leg, as a `Datatype.BrickColor`.
Setting this will also set `Class.BodyColors.LeftLegColor3`.
code_samples: []
type: BrickColor
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: false
capabilities:
- Avatar
- name: BodyColors.LeftLegColor3
summary: |
Sets the color of the left leg, as a `Datatype.Color3`.
description: |
Sets the color of the left leg, as a `Datatype.Color3`.
Setting this will also set LeftLegColor to the closest
`Datatype.BrickColor`.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BodyColors.RightArmColor
summary: |
Sets the color of the right arm, as a `Datatype.BrickColor`.
description: |
Sets the color of the right arm, as a `Datatype.BrickColor`.
Setting this will also set `Class.BodyColors.RightArmColor3`.
code_samples: []
type: BrickColor
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: false
capabilities:
- Avatar
- name: BodyColors.RightArmColor3
summary: |
Sets the color of the right arm, as a `Datatype.Color3`.
description: |
Sets the color of the right arm, as a `Datatype.Color3`.
Setting this will also set RightArmColor to the closest
`Datatype.BrickColor`.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BodyColors.RightLegColor
summary: |
Sets the color of the right leg, as a `Datatype.BrickColor`.
description: |
Sets the color of the right leg, as a `Datatype.BrickColor`.
Setting this will also set `Class.BodyColors.RightLegColor3`.
code_samples: []
type: BrickColor
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: false
capabilities:
- Avatar
- name: BodyColors.RightLegColor3
summary: |
Sets the color of the right leg, as a `Datatype.Color3`.
description: |
Sets the color of the right leg, as a `Datatype.Color3`.
Setting this will also set RightLegColor to the closest
`Datatype.BrickColor`.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BodyColors.TorsoColor
summary: |
Sets the color of the torso, as a `Datatype.BrickColor`.
description: |
Sets the color of the torso, as a `Datatype.BrickColor`.
Setting this will also set `Class.BodyColors.TorsoColor3`.
code_samples: []
type: BrickColor
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: false
capabilities:
- Avatar
- name: BodyColors.TorsoColor3
summary: |
Sets the color of the torso, as a `Datatype.Color3`.
description: |
Sets the color of the torso, as a `Datatype.Color3`.
Setting this will also set TorsoColor to the closest
`Datatype.BrickColor`.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,77 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BodyForce
type: class
memory_category: Instances
summary: |
Applies a constant force to an object.
description: |
The `BodyForce` object applies (or exerts) a force on the assembly to which it
is parented. If the magnitude of such a force is great enough, assemblies can
begin to accelerate. The force is determined by the
`Class.BodyForce.Force|Force` property, and is defined on the three world
axes.
A `BodyForce` alone cannot apply a torque (it cannot cause the parent to
rotate on its own). To apply a force at a specific point or apply forces
relative to the orientation of the assembly, use a `Class.BodyThrust` instead.
code_samples: []
inherits:
- BodyMover
descendants: []
tags:
- Deprecated
deprecation_message: |
This object is deprecated and should not be used for new work. Use
`Class.VectorForce` instead, and see the
[legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
properties:
- name: BodyForce.Force
summary: |
Determines the force exerted on each axis.
description: |
This property determines the magnitude of force exerted on each axis,
relative to the world.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyForce.force
summary: |
Determines the amount of force applied on each axis.
description: |
A deprecated variant of `Class.BodyForce.Force` that indicates the amount
of force applied on each axis.
code_samples: []
type: Vector3
tags:
- NotReplicated
- Deprecated
deprecation_message: |
This deprecated property is a variant of `Class.BodyForce.Force` which
should be used instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: false
capabilities:
- Physics
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,179 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BodyGyro
type: class
memory_category: Instances
summary: |
Applies a torque to maintain a constant orientation.
description: |
The `BodyGyro` object applies a torque (rotational force) on an assembly such
that it maintains a constant angular displacement, or orientation. This allows
for the creation of assemblies that point in a certain direction, as if a real
gyroscope were acting upon it. Essentially, it's the rotational counterpart to
a `Class.BodyPosition`.
If you would like to maintain a constant angular velocity, use a
`Class.BodyAngularVelocity` instead.
The `Class.BodyGyro.CFrame|CFrame` property controls the goal orientation.
Only the angular components of the `Datatype.CFrame` are used; position will
make no difference. `Class.BodyGyro.MaxTorque|MaxTorque` limits the amount of
angular force that may be applied, `Class.BodyGyro.P|P` controls the power
used in achieving the goal orientation, and `Class.BodyGyro.D|D` controls
dampening behavior.
code_samples: []
inherits:
- BodyMover
descendants: []
tags:
- Deprecated
deprecation_message: |
This object is deprecated and should not be used for new work. Use
`Class.AlignOrientation` instead, and see the
[legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
properties:
- name: BodyGyro.CFrame
summary: |
Determines the target orientation (translational component ignored).
description: |
This property (not to be confused with `Class.BasePart.CFrame`) determines
the target orientation towards which torque will be exerted. Since
`Class.BodyGyro` does not apply translational force, the
translational/positional component of the `Datatype.CFrame` is ignored.
Consider using one of the following CFrame constructors in setting this
property: `Datatype.CFrame.fromAxisAngle()`,
`Datatype.CFrame.fromEulerAnglesXYZ()`, or
`Datatype.CFrame.fromEulerAnglesYXZ()`.
code_samples: []
type: CFrame
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyGyro.cframe
summary: ''
description: ''
code_samples: []
type: CFrame
tags:
- NotReplicated
- Deprecated
deprecation_message: |
This property is a deprecated variant of `Class.BodyGyro.CFrame` which
should be used instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: false
capabilities:
- Physics
- name: BodyGyro.D
summary: |
Determines the amount of dampening to use in reaching the goal
`Class.BodyGyro.CFrame|CFrame`.
description: |
This property defines how much dampening will be applied to the torque
used to reach the goal `Class.BodyGyro.CFrame|CFrame`. When the assembly
approaches the goal orientation, it needs to decelerate, otherwise it will
rotate past the goal and have to stop and re-accelerate back toward the
goal. This often creates an undesirable "rubber‑banding" effect, avoided
by applying dampening. The higher this value is set, the greater the
dampening curve becomes, or the slower the assembly will approach the goal
orientation.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyGyro.MaxTorque
summary: |
Determines the limit on how much torque that may be applied to each axis.
description: |
This property determines the limit on the amount of torque that may be
applied on each axis in reaching the goal orientation
(`Class.BodyGyro.CFrame|CFrame`). If an assembly isn't moving, consider
increasing this value and also check that it is not
`Class.BasePart.Anchored|Anchored` or attached to any anchored assemblies.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyGyro.maxTorque
summary: ''
description: ''
code_samples: []
type: Vector3
tags:
- NotReplicated
- Deprecated
deprecation_message: |
This property is a deprecated variant of `Class.BodyGyro.MaxTorque` which
should be used instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: false
capabilities:
- Physics
- name: BodyGyro.P
summary: |
Determines how aggressive of a torque is applied in reaching the goal
orientation.
description: |
This property determines how much power is used while applying torque in
order to reach the goal `Class.BodyGyro.CFrame|CFrame`. The higher this
value, the more power will be used and the faster it will be used.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,47 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BodyMover
type: class
memory_category: Instances
summary: |
Base class for objects that continually exert forces to assemblies.
description: |
`BodyMover` is the abstract base class for the set of legacy objects that
exert forces to assemblies in different ways. In general, the subclasses of
`BodyMover` are:
- `Class.BodyForce` exerts a force relative to world coordinates.
- `Class.BodyPosition` exerts force to maintain a certain world position.
- `Class.BodyVelocity` exerts force to maintain a certain velocity.
- `Class.BodyThrust` exerts a force relative to object coordinates which
applies torque if positioned in a certain way.
- `Class.BodyGyro` exerts torque to maintain a certain orientation.
- `Class.BodyAngularVelocity` exerts torque to maintain a certain angular
velocity.
- `Class.RocketPropulsion` exerts both translational and rotational forces to
cause an assembly to track down another.
code_samples: []
inherits:
- Instance
descendants:
- BodyAngularVelocity
- BodyForce
- BodyGyro
- BodyPosition
- BodyThrust
- BodyVelocity
- RocketPropulsion
tags:
- NotCreatable
- Deprecated
deprecation_message: |
This class has been deprecated. See the
[mover constraints](../../../physics/mover-constraints.md) article for an
overview of `Class.BodyMover` replacements, as well as the
[legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
properties: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,126 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BodyPartDescription
type: class
memory_category: Instances
summary: |
Describes the appearance of an avatar body part for the
`Class.HumanoidDescription`.
description: |
**BodyPartDescription** is an object that stores the description for an
avatar's body parts, such as the `Class.BodyPartDescription.Color|Color`. It
is meant to be placed underneath a `Class.HumanoidDescription` in order to
work with `Class.Humanoid:ApplyDescriptionAsync()`.
code_samples: []
inherits:
- Instance
descendants: []
tags: []
deprecation_message: ''
properties:
- name: BodyPartDescription.AssetId
summary: |
The asset ID that should be applied when applying this
`Class.BodyPartDescription`.
description: |
The asset ID that should be applied when applying this
`Class.BodyPartDescription`.
code_samples: []
type: int64
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BodyPartDescription.BodyPart
summary: |
The type of body part.
description: |
The type of body part.
code_samples: []
type: BodyPart
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BodyPartDescription.Color
summary: |
The `Datatype.Color3` for this body part.
description: |
The `Datatype.Color3` for this body part.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BodyPartDescription.HeadShape
summary: ''
description: ''
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
- name: BodyPartDescription.Instance
summary: |
A reference to the `Class.Instance` that should be applied when applying
this `Class.BodyPartDescription`.
description: |
A reference to the `Class.Instance` that should be applied when applying
this `Class.BodyPartDescription`. This property can be used instead of
`Class.BodyPartDescription.AssetId|AssetId` to apply accessories without
uploading them to the platform. This can reference either a body part with
R15, **R15ArtistIntent** and **R6** folders, or only reference a single
subfolder.
code_samples: []
type: Instance
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Avatar
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,230 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BodyPosition
type: class
memory_category: Instances
summary: |
Applies a force to maintain a constant position.
description: |
The `BodyPosition` object applies a force on an assembly such that it will
maintain a constant position in the world. The
`Class.BodyPosition.Position|Position` property, not to be confused with
`Class.BasePart.Position`, controls the target world position. This is the
translational counterpart to a `Class.BodyGyro`.
If you need further control on a force applied to an object, consider using a
`Class.BodyForce` or `Class.BodyThrust` instead.
The strength of the force applied by this object is controlled by several
factors, namely the distance to the goal position: the force is stronger when
farther away from the goal. This is amplified by `Class.BodyPosition.P|P`
(power). The present velocity will also dampen the force applied by this
object, and this is amplified by `Class.BodyPosition.D|D` (dampening). The
resulting force is then capped by `Class.BodyPosition.MaxForce|MaxForce`. Note
the force applied on the assembly to achieve the goal position may vary on a
per-axis basis.
code_samples: []
inherits:
- BodyMover
descendants: []
tags:
- Deprecated
deprecation_message: |
This object is deprecated and should not be used for new work. Use
`Class.AlignPosition` instead, and see the
[legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
properties:
- name: BodyPosition.D
summary: |
Determines the amount of dampening to use in reaching the goal
`Class.BodyPosition.Position|Position`.
description: |
This property determines how much dampening will be applied to the force
used toward reaching the goal `Class.BodyPosition.Position|Position`. When
the assembly approaches the goal position it needs to decelerate,
otherwise it will move past the goal and have to stop and re-accelerate
back toward the goal. This is often creates an undesirable
"rubber‑banding" effect, avoided by applying dampening. The higher this
value is set, the greater the dampening curve becomes, or the slower the
assembly will approach the goal position.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyPosition.MaxForce
summary: |
Determines the limit on how much force that may be applied to each axis.
description: |
This property determines the limit on the amount of force that may be
applied on each axis in reaching the goal
`Class.BodyPosition.Position|Position`. If an assembly isn't moving,
consider increasing this value and also check that it is not
`Class.BasePart.Anchored|Anchored` or attached to any anchored assemblies.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyPosition.maxForce
summary: ''
description: ''
code_samples: []
type: Vector3
tags:
- NotReplicated
- Deprecated
deprecation_message: |
This property is a deprecated variant of `Class.BodyPosition.MaxForce`
which should be used instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: false
capabilities:
- Physics
- name: BodyPosition.P
summary: |
Determines how aggressive of a force is applied in reaching the goal
position.
description: |
This property determines how much power is used while applying force in
order to reach the goal `Class.BodyPosition.Position|Position`. The higher
this value, the more power will be used and the faster it will be used.
The force the `Class.BodyPosition` exerts increases as the difference
between the assembly's current position and the goal position increases.
This property is multiplied to this force to either amplify or diminish
it.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyPosition.Position
summary: |
Determines the goal position towards which force will be applied.
description: |
This property determines the goal position towards which the
`Class.BodyPosition` will apply force.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyPosition.position
summary: ''
description: ''
code_samples: []
type: Vector3
tags:
- NotReplicated
- Deprecated
deprecation_message: |
This is a deprecated variant of `Class.BodyPosition.Position` which should
be used instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: false
capabilities:
- Physics
methods:
- name: BodyPosition:GetLastForce
summary: |
Returns the last force in the object.
description: |
This function returns the last force in the object.
code_samples: []
parameters: []
returns:
- type: Vector3
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Physics
- name: BodyPosition:lastForce
summary: |
Returns the last force in the object.
description: |
The lastForce function returns the last force in the object.
code_samples: []
parameters: []
returns:
- type: Vector3
summary: ''
tags:
- Deprecated
deprecation_message: |
This property has been superseded by `Class.BodyPosition:GetLastForce()`
which should be used in new work instead,
security: None
thread_safety: Unsafe
capabilities:
- Physics
events:
- name: BodyPosition.ReachedTarget
summary: |
Fired when the Parent of the BodyPosition reaches the desired
`Class.BodyPosition.Position` (within .1 studs). Once this event fires it
will not fire again until `Class.BodyPosition.Position` is updated.
description: |
Fired when the Parent of the BodyPosition reaches the desired
`Class.BodyPosition.Position` (within .1 studs). Once this event fires it
will not fire again until `Class.BodyPosition.Position` is updated.
code_samples: []
parameters: []
tags: []
deprecation_message: ''
security: None
capabilities:
- Physics
callbacks: []

View file

@ -0,0 +1,119 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BodyThrust
type: class
memory_category: Instances
summary: |
Applies a constant force to an object at a specific point.
description: |
The `BodyThrust` object applies a force relative to the assembly to which it
is parented at a specific location. It behaves similar to a `Class.BodyForce`
except that this object's force applies at a specific point
(`Class.BodyThrust.Location|Location`), allowing you to exert a torque
(rotational force). To apply a force dynamically so that an assembly maintains
a constant angular velocity, use a `Class.BodyAngularVelocity` instead. To
apply a force dynamically so that an assembly maintains a constant orientation
(angular position), use a `Class.BodyGyro`.
code_samples: []
inherits:
- BodyMover
descendants: []
tags:
- Deprecated
deprecation_message: |
This object is deprecated and should not be used for new work. Use
`Class.VectorForce` instead, and see the
[legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
properties:
- name: BodyThrust.Force
summary: |
Determines the amount of force exerted on each axis relative to the
assembly.
description: |
This property determines the amount of force exerted on each axis relative
to the assembly. The force is exerted at the
`Class.BodyThrust.Location|Location` which is also relative to the
assembly.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyThrust.force
summary: ''
description: ''
code_samples: []
type: Vector3
tags:
- NotReplicated
- Deprecated
deprecation_message: |
This property is a deprecated variant of `Class.BodyThrust.Force|Force`
which should be used instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: false
capabilities:
- Physics
- name: BodyThrust.Location
summary: |
Determines the relative position where the `Class.BodyThrust.Force|Force`
is exerted.
description: |
This property determines the relative position where the
`Class.BodyThrust.Force|Force` is exerted. This is the primary means for
turning force into torque.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyThrust.location
summary: ''
description: ''
code_samples: []
type: Vector3
tags:
- NotReplicated
- Deprecated
deprecation_message: |
This property is a deprecated variant of `Class.BodyThrust.Location` which
should be used instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: false
capabilities:
- Physics
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,185 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BodyVelocity
type: class
memory_category: Instances
summary: |
Applies a force to maintain a constant velocity.
description: |
The `BodyVelocity` object applies a force on an assembly such that it will
maintain a constant velocity. The `Class.BodyVelocity.Velocity|Velocity`
property, not to be confused with `Class.BasePart.AssemblyLinearVelocity`,
controls the goal velocity.
`Class.BodyVelocity` is the linear counterpart to `Class.BodyAngularVelocity`.
If you need the assembly to move toward a goal position, use
`Class.BodyPosition` instead. If you need further control on a force applied
to an object, consider using a `Class.BodyForce` or `Class.BodyThrust`
instead.
The strength of the force applied by this object is controlled by several
factors, namely the difference between the assembly's current velocity and the
goal velocity. This is multiplied by `Class.BodyVelocity.P|P` (power) to
either amplify or diminish it. The resulting force is then capped by
`Class.BodyVelocity.MaxForce|MaxForce`.
code_samples: []
inherits:
- BodyMover
descendants: []
tags:
- Deprecated
deprecation_message: |
This object is deprecated and should not be used for new work. Use
`Class.LinearVelocity` instead, and see the
[legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
properties:
- name: BodyVelocity.MaxForce
summary: |
Determines the limit on how much force that may be applied to each axis.
description: |
This property determines the limit on the amount of force that may be
applied on each axis in reaching the goal
`Class.BodyVelocity.Velocity|Velocity`. If an assembly isn't moving,
consider increasing this value and also check that it is not
`Class.BasePart.Anchored|Anchored` or attached to any anchored assemblies.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyVelocity.maxForce
summary: ''
description: ''
code_samples: []
type: Vector3
tags:
- NotReplicated
- Deprecated
deprecation_message: |
This property is a deprecated variant of `Class.BodyVelocity.MaxForce`
which should be used instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: false
capabilities:
- Physics
- name: BodyVelocity.P
summary: |
Determines how aggressive of a force is applied in reaching the goal
velocity.
description: |
This property determines how much power is used while applying force in
order to reach the goal `Class.BodyVelocity.Velocity|Velocity`. The higher
this value, the more power will be used and the faster it will be used.
The force the `Class.BodyVelocity` exerts increases as the difference
between the assembly's current velocity and the goal velocity increases.
This property is multiplied to this force to either amplify or diminish
it.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyVelocity.Velocity
summary: |
Determines the goal velocity.
description: |
This property (not to be confused with `Class.BasePart.Velocity`)
determines the target velocity towards which force will be exerted. It is
specified relative to the world, not the assembly.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: BodyVelocity.velocity
summary: ''
description: ''
code_samples: []
type: Vector3
tags:
- NotReplicated
- Deprecated
deprecation_message: |
This property is a deprecated variant of `Class.BodyVelocity.Velocity`
which should be used instead.
security:
read: None
write: None
thread_safety: ReadSafe
category: Goals
serialization:
can_load: true
can_save: false
capabilities:
- Physics
methods:
- name: BodyVelocity:GetLastForce
summary: |
Not implemented and will always return the `0` vector.
description: |
This method is not implemented and it will always return the `0` vector.
You are advised to use `Class.AlignPosition` instead.
code_samples: []
parameters: []
returns:
- type: Vector3
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Physics
- name: BodyVelocity:lastForce
summary: |
Returns the last force in the object.
description: |
Returns the last force in the object.
code_samples: []
parameters: []
returns:
- type: Vector3
summary: ''
tags: []
deprecation_message: ''
security: None
thread_safety: Unsafe
capabilities:
- Physics
events: []
callbacks: []

View file

@ -0,0 +1,150 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: Bone
type: class
memory_category: Instances
summary: |
Bones are non-rendered objects that drive the movement of one or more parts
for the purposes of animation, or creating clothing and characters.
description: |
Bones are non-rendered objects that drive the movement of one or more parts
for the purposes of animation, or creating clothing and characters. Bones are
part of a `Class.Model` or `Class.MeshPart` object's skeletal **rig** that you
typically access and animate through the
[Animation Editor](../../../animation/editor.md).
Rigs are created during the modeling process in third-party software such as
Blender or Maya. After importing the rigged model into Studio, you can add the
model directly to your experience, or save and share the model as an asset.
See [Rigging](../../../art/modeling/rigging.md) for more details on creating
and using rigged models.
Note that you can parent `Class.Bone|Bones` under other `Class.Bone|Bones` and
parts. When parenting a bone to another bone, the child bone's world position
will be relative to the parent bone's position, and the hierarchy of parented
`Class.Bone` objects can change the behavior of affected parts during posing
or animation.
##### Relationship with Motor6D
To support animations with older rigs using joints, such as `Class.Motor6D`,
you can use the `Class.Bone.Transform` property in the same way as
`Class.Motor6D.Transform`. Roblox uses the offset of the bones from the
default pose to drive an animation, and bones are not replicated or
serialized.
##### Bone.CFrame
Bones inherit the `Class.Attachment.CFrame|CFrame` property of
`Class.Attachment|Attachments` which Roblox uses as the bone's reference
position. The inherited `Class.Attachment.WorldCFrame|WorldCFrame` and other
world properties return the initial un-transformed position.
code_samples: []
inherits:
- Attachment
descendants: []
tags: []
deprecation_message: ''
properties:
- name: Bone.Transform
summary: |
Determines the current animated offset of the bone in its local space.
description: |
**Transform** determines the current animated offset of the bone relative
to its `Class.Attachment.CFrame|CFrame`. This property is set by Roblox
when animations on skinned meshes are played, although it can be
manipulated manually in a manner similar to `Class.Motor6D.Transform`.
See also:
- `Class.Motor6D.Transform`, a property which plays a similar role in
character rig animation
- `Class.Bone.TransformedCFrame|TransformedCFrame` and
`Class.Bone.TransformedWorldCFrame|TransformedWorldCFrame`, whose values
are partially determined by this property
code_samples: []
type: CFrame
tags:
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Transform
serialization:
can_load: true
can_save: false
capabilities:
- Basic
- Animation
- name: Bone.TransformedCFrame
summary: |
Describes the combined `Class.Attachment.CFrame|CFrame` offset of the bone
and the current animation offset in the bone local space.
description: |
**TransformedCFrame** describes the combined
`Class.Attachment.CFrame|CFrame` offset of the bone and the current
animation offset (`Class.Bone.Transform|Transform`) in the bone's local
space.
See also:
- `Class.Bone.Transform|Transform`, a property which partially determines
this property's value
- `Class.Bone.TransformedWorldCFrame`, a world-space variant of this
property
code_samples: []
type: CFrame
tags:
- Hidden
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Derived Data
serialization:
can_load: false
can_save: false
capabilities:
- Basic
- Animation
- name: Bone.TransformedWorldCFrame
summary: |
Describes the combined `Class.Attachment.CFrame|CFrame` offset of the bone
and the current animation offset in world space.
description: |
**TransformedWorldCFrame** describes the combined
`Class.Attachment.CFrame|CFrame` offset of the bone and the current
animation offset (`Class.Bone.Transform|Transform`) in world space.
See also:
- `Class.Bone.Transform|Transform`, a property which partially determines
this property's value
- `Class.Bone.TransformedCFrame`, a local-space variant of this property
code_samples: []
type: CFrame
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: Unsafe
category: Derived World Data
serialization:
can_load: false
can_save: false
capabilities:
- Basic
- Animation
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,83 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BoolValue
type: class
memory_category: Instances
summary: |
A container object for a single boolean value.
description: |
Stores a single boolean value. The value can be used for many things,
including to communicate between scripts.
Like all `Class.ValueBase` objects, this single value is stored in the
`Class.BoolValue.Value|Value` property. The `Changed` event fires with the new
value being stored in the object, instead of a string representing the
property being changed.
code_samples: []
inherits:
- ValueBase
descendants: []
tags: []
deprecation_message: ''
properties:
- name: BoolValue.Value
summary: |
Used to hold a boolean value.
description: |
Used to hold a boolean value.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
methods: []
events:
- name: BoolValue.Changed
summary: |
Fires whenever the `Class.BoolValue.Value` is changed.
description: |
Fires whenever the `Class.BoolValue.Value` changes. It runs with the new
value being stored in the argument object, instead of a string
representing the property being changed.
Listening for the `Changed` signal can be useful in games that use
`BoolValues` to track switch or enabled states.
code_samples:
- BoolValue-Changed1
parameters:
- name: value
type: boolean
default:
summary: |
The new value after the change.
tags: []
deprecation_message: ''
security: None
capabilities: []
- name: BoolValue.changed
summary: ''
description: ''
code_samples: []
parameters:
- name: value
type: boolean
default:
summary: ''
tags:
- Deprecated
deprecation_message: |
This event is a deprecated variant of `Class.BoolValue.Changed` which
should be used instead.
security: None
capabilities: []
callbacks: []

View file

@ -0,0 +1,62 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BoxHandleAdornment
type: class
memory_category: Instances
summary: |
A box-shaped handle that can be adorned to a `Class.BasePart`.
description: |
`BoxHandleAdornment` is a box-shaped handle that can be adorned to a
`Class.BasePart`. If parented to a player's `Class.PlayerGui` or the
`Class.CoreGui`, handles can listen to input events for purposes such as
making dragger tools.
code_samples: []
inherits:
- HandleAdornment
descendants: []
tags: []
deprecation_message: ''
properties:
- name: BoxHandleAdornment.Shading
summary: ''
description: ''
code_samples: []
type: AdornShading
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- UI
- name: BoxHandleAdornment.Size
summary: |
Size of the adornment.
description: |
The size of the adornment in studs.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- UI
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,84 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BrickColorValue
type: class
memory_category: Instances
summary: |
A container object for a single BrickColor value.
description: |
An instance which is used to store a BrickColor value.
code_samples: []
inherits:
- ValueBase
descendants: []
tags: []
deprecation_message: ''
properties:
- name: BrickColorValue.Value
summary: |
Used to hold a `Datatype.BrickColor` value.
description: |
Used to hold a `Datatype.BrickColor` value.
code_samples: []
type: BrickColor
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
methods: []
events:
- name: BrickColorValue.Changed
summary: |
Fired whenever the `Class.BrickColorValue.Value` of the BrickColorValue is
changed.
description: |
Fired whenever the `Class.BrickColorValue.Value` of the
`Class.BrickColorValue` is changed. It will run with the new value being
stored in the argument object, instead of a string representing the
property being changed.
This event, like other changed events, can be used to track when an
BrickColorValue changes and to track the different values that it may
change to.
Equivalent changed events exist for similar objects, such as
`Class.NumberValue` and `Class.StringValue`, depending on what object type
best suits the need.
code_samples:
- BrickColorValue-Changed1
parameters:
- name: value
type: BrickColor
default:
summary: |
The new value after the change.
tags: []
deprecation_message: ''
security: None
capabilities: []
- name: BrickColorValue.changed
summary: ''
description: ''
code_samples: []
parameters:
- name: value
type: BrickColor
default:
summary: ''
tags:
- Deprecated
deprecation_message: |
This event is a deprecated variant of `Class.BrickColorValue.Changed`
which should be used instead.
security: None
capabilities: []
callbacks: []

View file

@ -0,0 +1,22 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BrowserService
type: class
memory_category: Instances
summary: ''
description: ''
code_samples: []
inherits:
- Instance
descendants: []
tags:
- NotCreatable
- Service
- NotReplicated
deprecation_message: ''
properties: []
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,345 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BubbleChatConfiguration
type: class
memory_category: Instances
summary: |
Allows for customization of text chat bubbles through `Class.TextChatService`.
description: |
Allows for customization of text chat bubbles through `Class.TextChatService`.
See [Bubble Chat](../../../chat/bubble-chat.md) for implementation details.
code_samples: []
inherits:
- TextChatConfigurations
descendants: []
tags:
- NotCreatable
deprecation_message: ''
properties:
- name: BubbleChatConfiguration.AdorneeName
summary: |
Body part or `Class.Attachment` that bubbles will attach to.
description: |
String name of the body part or `Class.Attachment` that bubbles attach to;
if multiple instances of the same name exist, the system attaches to the
first instance found. Default is `"HumanoidRootPart"`.
code_samples: []
type: string
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.BackgroundColor3
summary: |
Background color of bubbles.
description: |
`Datatype.Color3` background color of bubbles. Default is
`Datatype.Color3|Color3.fromRGB(250, 250, 250)`.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.BackgroundTransparency
summary: |
Determines the background transparency of the default bubble chat as a
number between 0 and 1.
description: |
Determines the background transparency of the default bubble chat as a
number between 0 and 1. This value is multiplied with the user's
`Class.GuiService.PreferredTransparency` to create the effective
background transparency used by the bubble chat, which may be more opaque
than this value set here. Default value is 0.1.
code_samples: []
type: double
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.BubbleDuration
summary: |
Time before a bubble fades out, in seconds.
description: |
Time before a bubble fades out, in seconds. Default is `30`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.BubblesSpacing
summary: |
Vertical space between stacked bubbles, in pixels.
description: |
Vertical space between stacked bubbles, in pixels. Default is `6`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.Enabled
summary: |
Whether text chat bubbles are enabled.
description: |
Whether text chat bubbles are enabled. Default is `false`.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.Font
summary: |
`Datatype.Font` of the bubble text.
description: |
`Datatype.Font` of the bubble text. Default is `Enum.Font.GothamMedium`.
code_samples: []
type: Enum.Font
tags:
- Hidden
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.FontFace
summary: |
`Datatype.Font` of the bubble text.
description: |
`Datatype.Font` of the bubble text. Similar to
`Class.BubbleChatConfiguration.Font` but allows setting fonts that don't
exist in `Enum.Font`.
code_samples: []
type: Datatype.Font
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.LocalPlayerStudsOffset
summary: |
Offset of bubbles from their adornee, in studs.
description: |
If adorned to the local player, `Datatype.Vector3` offset of bubbles from
their adornee, in studs, relative to the camera orientation.
code_samples: []
type: Vector3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.MaxBubbles
summary: |
Maximum number of text chat bubbles shown per user.
description: |
Maximum number of text chat bubbles shown per user. If the number of
bubbles exceeds this maximum, the system removes bubbles from the oldest
one. Default is `3`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.MaxDistance
summary: |
Maximum distance from the camera that bubbles are shown.
description: |
Maximum distance from the camera that bubbles are shown. Default is `100`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.MinimizeDistance
summary: |
Distance from the camera when bubbles turn into a single bubble with an
ellipsis to indicate chatter.
description: |
Distance from the camera when bubbles turn into a single bubble with an
ellipsis (**&ctdot;**) to indicate chatter.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.TailVisible
summary: |
Determines if the tail at the bottom of the text chat bubbles is visible.
description: |
Determines if the tail at the bottom of the text chat bubbles is visible.
Default is `True`.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.TextColor3
summary: |
Color of bubble text.
description: |
`Datatype.Color3` color of bubble text. Default is
`Datatype.Color3|Color3.fromRGB(57, 59, 61)`.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.TextSize
summary: |
Size of bubble text.
description: |
Size of bubble text. Default is `16`.
code_samples: []
type: int64
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Chat
- name: BubbleChatConfiguration.VerticalStudsOffset
summary: |
Extra space between bubbles and their adornee, in studs.
description: |
Extra space between bubbles and their adornee, in studs. Default is `0`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Behavior
serialization:
can_load: true
can_save: true
capabilities:
- Chat
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,131 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BubbleChatMessageProperties
type: class
memory_category: Instances
summary: ''
description: ''
code_samples: []
inherits:
- TextChatMessageProperties
descendants: []
tags: []
deprecation_message: ''
properties:
- name: BubbleChatMessageProperties.BackgroundColor3
summary: |
Background color of bubbles.
description: |
Background color of bubbles in `Datatype.Color3`.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: false
can_save: false
capabilities:
- Chat
- name: BubbleChatMessageProperties.BackgroundTransparency
summary: |
Background transparency of bubbles.
description: |
Background transparency of bubbles.
code_samples: []
type: double
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: false
can_save: false
capabilities:
- Chat
- name: BubbleChatMessageProperties.FontFace
summary: |
Font of the bubble text.
description: |
Font of the bubble text in `Datatype.Font`.
code_samples: []
type: Datatype.Font
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: false
can_save: false
capabilities:
- Chat
- name: BubbleChatMessageProperties.TailVisible
summary: ''
description: ''
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: false
can_save: false
capabilities:
- Chat
- name: BubbleChatMessageProperties.TextColor3
summary: |
Color of bubble text.
description: |
Color of bubble text in `Datatype.Color3`.
code_samples: []
type: Color3
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: false
can_save: false
capabilities:
- Chat
- name: BubbleChatMessageProperties.TextSize
summary: |
Size of bubble text.
description: |
Size of bubble text.
code_samples: []
type: int64
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: false
can_save: false
capabilities:
- Chat
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,68 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: BuoyancySensor
type: class
memory_category: Instances
summary: |
A `Class.SensorBase` that outputs data about how its `Class.BasePart` is
interacting with `Class.Terrain` water.
description: |
A `Class.SensorBase` that outputs data about how its `Class.BasePart` is
interacting with `Class.Terrain` water, allowing you to determine if the part
is or is not in water.
code_samples: []
inherits:
- SensorBase
descendants: []
tags: []
deprecation_message: ''
properties:
- name: BuoyancySensor.FullySubmerged
summary: |
True when the entirety of the `Class.BasePart` is submerged in
`Class.Terrain` water with at least one voxel of water above it.
description: |
This property is true when the entirety of the `Class.BasePart` is
submerged in `Class.Terrain` water with at least one voxel of water above
it.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Output
serialization:
can_load: true
can_save: true
capabilities:
- Basic
- name: BuoyancySensor.TouchingSurface
summary: |
True when any position on the `Class.BasePart` is touching `Class.Terrain`
water.
description: |
This property is true when any position on the `Class.BasePart` is
touching `Class.Terrain` water. The detection measurements are not exact
and may use the bounding box of the part instead of its exact geometry.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Output
serialization:
can_load: true
can_save: true
capabilities:
- Basic
methods: []
events: []
callbacks: []

View file

@ -0,0 +1,87 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: CFrameValue
type: class
memory_category: Instances
summary: |
A container object for a single CFrame value.
description: |
A container object for a single `Datatype.CFrame` value.
code_samples:
- Store-the-Camera-s-CFrame
inherits:
- ValueBase
descendants: []
tags: []
deprecation_message: ''
properties:
- name: CFrameValue.Value
summary: |
Used to hold a `Datatype.CFrame` value.
description: |
Used to hold a `Datatype.CFrame` value.
code_samples: []
type: CFrame
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Data
serialization:
can_load: true
can_save: true
capabilities: []
methods: []
events:
- name: CFrameValue.Changed
summary: |
Fired whenever the `Class.CFrameValue.Value` of the CFrameValue is
changed.
description: |
Fired whenever the `Class.CFrameValue.Value` of the `Class.CFrameValue` is
changed. It will run with the new value being stored in the argument
object, instead of a string representing the property being changed.
This event, like other changed events, can be used to track when an
CFrameValue changes and to track the different values that it may change
to.
For instance, this even may be useful in games that rely on CFrameValues
to track game object `Datatype.CFrame` positions and movements.
Equivalent changed events exist for similar objects, such as
`Class.NumberValue` and `Class.StringValue`, depending on what object type
best suits the need.
code_samples:
- CFrameValue-Changed1
parameters:
- name: value
type: CFrame
default:
summary: |
The new value after the change.
tags: []
deprecation_message: ''
security: None
capabilities: []
- name: CFrameValue.changed
summary: ''
description: ''
code_samples: []
parameters:
- name: value
type: CFrame
default:
summary: ''
tags:
- Deprecated
deprecation_message: |
This event is a deprecated variant of `Class.CFrameValue.Changed` which
should be used instead.
security: None
capabilities: []
callbacks: []

View file

@ -0,0 +1,32 @@
# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: CacheableContentProvider
type: class
memory_category: Instances
summary: |
A variant of the `Class.ContentProvider` that caches assets that have already
been received. This service is not used directly, but it is used by the
services that inherit from it.
description: |
A variant of the `Class.ContentProvider` that caches assets that have already
been received. This service is not used directly, but it is used by the
services that inherit from it.
code_samples: []
inherits:
- Instance
descendants:
- HSRDataContentProvider
- MeshContentProvider
- SlimContentProvider
- SolidModelContentProvider
tags:
- NotCreatable
- Service
- NotReplicated
deprecation_message: ''
properties: []
methods: []
events: []
callbacks: []

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more