Roblox UtilitiesDevlHub Roblox Documentation

Class

Configuration

Inherits
Instance › Object
Memory category
Instances

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

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:

Luau
local damage = 10

With a Configuration object, that code becomes:

Luau
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.

Inherited members#

Inherited from Instance 58
Inherited from Object 6
Properties (2)

ClassName, className

Events (1)

Changed