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

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