Parameter and result types
Table shapes and type aliases used by API signatures.
These types describe API parameters, table results, and aliases. They are not Instance classes. Construct option tables with the field names shown below.
Content
A string identifying an asset or other content resource. Assign it to content
properties such as SoundId, Texture, or AnimationId.
AttributeValue
A value accepted by Instance:SetAttribute. nil removes the attribute.
Attributes support scalar values and the engine value types accepted by the
attribute serializer. Tables, functions, and threads are not attribute storage.
ControllerValue
A value stored by CharacterController SetInput or SetState. The value must
be supported by the remote-value serializer. Custom state uses string keys.
nil removes a named value.
EnumType
An enumeration table such as Enum.Material. It supplies the named items used
by Component.enum. This differs from an EnumItem such as Enum.Material.Wood.
ComponentField
An opaque field descriptor returned by a Component field constructor. Supply
these descriptors as values in Component.define or nested collection schemas.
They are evaluated in a ComponentDefinition; they are not component data.
ComponentOptions
Options passed as the second argument to Component.define:
| Field | Type | Behavior |
|---|---|---|
on | array of class names | Permitted Instance classes and subclasses. Empty permits any class. |
replicate | string | "all", "owner", or "none". Narrows the visibility allowed by the definition location. |
requires | array of component names | Components added with this component. |
version | integer | Schema version; the initial version is 1. |
renamedFrom | string or array of strings | Previous names used to adopt saved data. |
doc | string | Schema description. |
See Component definitions for validation, persistence, reference policies, and sandbox restrictions.
ComponentFieldOptions
Common scalar-field options: doc is a description string. renamedFrom is a
previous field name or array of names used to adopt saved values.
ComponentNumberOptions
Common field options plus min, max, and step. Numeric values must be finite.
The default must lie within the declared range. min cannot exceed max.
Runtime assignments are clamped to the bounds. step does not quantize runtime values.
ComponentIntegerOptions
Common field options plus min and max. Values must be whole numbers. Integer
fields do not accept the number field's step option. Runtime assignments are
clamped to the bounds.
ComponentStringOptions
Common field options plus maxLength. The default limit is 1024 characters.
The limit must be a positive integer.
ComponentRefOptions
Common field options plus onDestroy. Accepted policies are "clear",
"remove", and "destroy". The default is "clear". Reference fields are
optional and default to nil.
ComponentCollectionOptions
Collection options include default, doc, and renamedFrom. Lists and maps
also accept maxItems, which defaults to 1024 and is capped at 65536. The default
must match the nested schema. A struct must contain at least one named field.
ComponentBufferOptions
Buffer options include maxBytes, doc, and renamedFrom. maxBytes defaults
to 4096 and is capped at 1048576. Buffers default to empty data.
ActionContextOptions
Options passed to InputService:CreateActionContext:
| Field | Default | Behavior |
|---|---|---|
Priority | Default action priority | Numeric priority or Enum.ContextActionPriority. |
Modal | false | Blocks dispatch to lower-priority contexts. |
Enabled | true | Allows action dispatch in the context. |
Unknown option names cause an error.
BoundActionInfo
Each entry returned by GetBoundActions contains:
| Field | Meaning |
|---|---|
Name | Action name. |
Priority | Action priority. |
Context | Context name, or "InputService" for the default context. |
TouchButton | Whether the binding requests a touch button. |
Inputs | Array of KeyCode and UserInputType filters. |
MovementGrantOptions
Options passed to CharacterController:AuthorizeMovement:
| Field | Default | Behavior |
|---|---|---|
Duration | Required | Duration of the movement grant, in seconds. |
MaxSpeed | Character walk speed | Maximum authorized speed. |
Flight | false | Whether the grant permits flight. |
This is a server operation. Unknown option names cause an error. The method
returns false when the controller has no associated character player.
AgentParameters
Options passed to PathfindingService:CreatePath:
| Field | Default | Meaning |
|---|---|---|
AgentRadius | 2 | Navigation clearance radius, in studs. Minimum effective value is 0.05. |
AgentHeight | 5 | Navigation clearance height, in studs. Minimum effective value is 0.1. |
AgentCanJump | true | Whether jumping is permitted. |
AgentCanClimb | false | Whether climbing is permitted. |
AgentStepHeight | 2 | Maximum traversable step height, in studs. |
AgentJumpHeight | 6 | Maximum jump height, in studs. |
AgentMaxDropHeight | 12 | Maximum permitted drop, in studs. |
AgentMaxSlope | 89 | Maximum slope, in degrees. Capped at 89.9. |
WaypointSpacing | Unset | Optional waypoint spacing, in studs. Positive finite values have a minimum effective value of 0.5. |
Costs | {} | Map of navigation labels to traversal costs. Use math.huge to exclude a label. |
Dimensions and slope must be finite and nonnegative. Negative or NaN costs cause an error. Nonpositive or nonfinite waypoint spacing leaves spacing unset.
ContactPoint
The optional contact argument of BasePart touch events and entries returned by
BasePart:GetContacts:
| Field | Meaning |
|---|---|
Part | The other BasePart. |
Position | Contact position in world space. |
Normal | Contact normal pointing from the queried Part toward Part. |
Impulse | The impulse recorded for this contact. |
HttpRequestOptions
Options passed to HttpService:Request:
| Field | Default | Meaning |
|---|---|---|
Url | Required | HTTP or HTTPS URL. |
Method | "GET" | HTTP method, normalized to uppercase. |
Headers | {} | Map of header names to string values. |
Body | Unset | Optional request-body string. |
When a body is supplied without a Content-Type header, the binding adds
application/json. The call yields until the host replies. Permission, URL,
rate-limit, and transport failures cause errors.
HttpResponse
The result of HttpService:Request:
| Field | Meaning |
|---|---|
Success | Whether StatusCode is from 200 through 299. |
StatusCode | Numeric HTTP response status. |
StatusMessage | HTTP status text. |
Headers | Response headers. |
Body | Response-body string. |
An HTTP error status is a response. A transport failure raises a script error.
PlaceInfo
A place descriptor returned by PlaceService. Fields are Key, Id, Name,
Summary, Tags, and Meta. Key identifies a destination within the project.
Destination arguments accept either a descriptor or its key string. An unknown
key causes an error.
MoveOptions
Options passed to PlaceService Go, Back, and Send:
| Field | Meaning |
|---|---|
spawn | Optional SpawnLocation name in the destination. An empty string leaves the spawn unset. |
session | Optional private-session code or session descriptor. |
Arrival data is a separate argument. It must be JSON-compatible.
PlaceSession
A session descriptor contains Private, an optional Code, and an optional
Place descriptor. Private is true when a private-session code exists.
MaterialSet
A metadata record returned by MaterialService GetSet and GetSets. Fields are
Id, Name, Description, Author, License, LicenseUrl, SourceUrl,
Notice, and Materials. Materials lists the material names provided by the set.
MaterialResolution
The result of MaterialService:Resolve. Set is the resolved set identifier.
Substituted reports whether a substitute was selected. The method returns
nil when resolution is unavailable.
ConnectionQuality
A string returned by NetworkService:GetConnectionQuality: "Excellent",
"Good", "Fair", "Poor", or "Bad". The result can be nil when no
matching connection exists. Without a player, the client reports its server
connection; the server selects its worst connection.
Connection records from GetConnections contain Peer, PlayerId, SentBytes,
ReceivedBytes, Ping, PacketLoss, Jitter, and Retransmissions.
Ping and jitter are in milliseconds. Packet loss and retransmissions are percentages.
RigJointInfo
An entry returned by Model:GetRigJoints. Key is the joint's network key.
Motor is its Motor6D. Results use network joint order. Invalid rig structure
causes an error.
PrefabOverrideInfo
An entry returned by PrefabService:GetOverrides. Fields are Path, Property,
and Value. They identify a property override within the linked hierarchy.
AnimationClip
The current AnimationService:Clip binding returns a KeyframeSequence, or nil
when the identifier is unregistered. AnimationClip in the signature names that
registered clip; it is not a separate constructible value.
TestSummary
The result of TestService:Summary. Fields are Checks, Failures, Finished,
Passed, and Failed. Failure entries include a description and test time.
ClassInfo
A reflection record returned by ReflectionService:GetClass. Fields include
Name, Superclass, Kind, Creatable, Service, Withdrawn, Family, FamilyLabel,
Parents, Children, Container, and Ancestry. Home and RequiredHome are
present when the class has a corresponding placement rule.
Parent and child rules contain Rule and Classes. CanParent returns a verdict
with Allowed, Verdict, and Reason, plus class-specific placement details.
Related APIs
Component definitions · Systems and scheduling · Classes · Data types