Reference API Roblox

Engine API

Website

Related

Reference API Roblox

Configuration

A container object designed to hold value objects. Makes values used in Tools or any model using Scripts more accessible.

Member index 0

HistoryMember
No members defined by Configuration.
inherited from Instance
553Archivable: bool
670Capabilities: SecurityCapabilities
553Name: string
553Parent: Instance
702PredictionMode: PredictionMode
670Sandboxed: bool
680UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
707GetDescendants(): Instances
486GetFullName(): string
706GetStyled(name: string, selector: string?): Variant
657GetStyledPropertyChangedSignal(property: string): RBXScriptSignal
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
664IsPropertyModified(property: string): bool
698QueryDescendants(selector: string): Instances
573Remove(): null
576RemoveTag(tag: string): null
664ResetPropertyToDefault(property: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
648children(): Instances
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
648getChildren(): Instances
553isDescendantOf(ancestor: Instance): bool
573remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
657StyledPropertiesChanged()
553childAdded(child: Instance)
inherited from Object
647ClassName: string
647className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
650isA(className: string): bool
647Changed(property: string)

Description

The Configuration object is a container object. It's designed to hold value objects to make their values more accessible to Tools or any model that uses Scripts.

How does the Configuration object work?

The Configuration object is just a container and does not automatically offer any additional functionality to a Folder.

Configurations should hold value objects (BrickColorValue, NumberValue, IntValue, ObjectValue, etc.). These value objects should be read by the Script or LocalScript associated with the configuration to determine constants such as damage, speed, or color.

For example, a script might include a damage variable:

1
local damage = 10

With a Configuration object, that code becomes:

1
2
local configuration = tool:FindFirstChildWhichIsA("Configuration", true)
damage = configuration:FindFirstChild("Damage").Value -- a NumberValue

The Configuration object is intended to be placed inside a BasePart in a Model or Tool. You can then edit its values in the Roblox Studio Properties window rather than having to update the code.

Typically, you would place the script within the same model or tool as the configuration, so you would have some confidence that the configuration existed and had certain values. If you fetch the configuration from an outside script, you should program more defensively, with if statements to check that the configuration and values exist and fallback values in the event that the Find() methods fail.

Why should I use the Configuration object?

Configurations can be convenient for tools and models that you want to use across a range of games or distribute in the Creator Store. The object makes it clear that all variables for the tool or model can be found in this one place, and other creators can make changes without having to modify your code.

For variables that you only want to use within a single game and that you want the flexibility to tune without publishing your experience, see Experience configs.

History 2

Settings