3 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

ConfigSnapshot

Inherits from: Object

An object with the configuration values at a specific version. A snapshot can be targeted to a single player to apply experimentation values. This is returned by ConfigService:GetConfigAsync() and ConfigService:GetConfigForPlayerAsync().

For more information, see Experience configs.

Inherits from: Object

Memory category: Instances

Tags: NotCreatable, NotReplicated

Properties

NameType / ReturnsDescription
ConfigSnapshot.ErrorConfigSnapshotErrorStatePopulated if snapshot was in an error state.
ConfigSnapshot.OutdatedbooleanIf true, indicates the snapshot is outdated and can be refreshed to newer values.

Inherited from Object

NameType / ReturnsDescription
Object.ClassNamestringA read-only string representing the class this Object belongs to.
Object.classNamestring

ConfigSnapshot.Error

Populated if snapshot was in an error state.

FieldValue
typeConfigSnapshotErrorState
tags["ReadOnly","NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryData
serialization{"can_load":false,"can_save":true}
capabilities["Basic"]

ConfigSnapshot.Outdated

If true, indicates the snapshot is outdated and can be refreshed to newer values.

FieldValue
typeboolean
tags["ReadOnly","NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryData
serialization{"can_load":false,"can_save":true}
capabilities["Basic"]

Methods

NameType / ReturnsDescription
ConfigSnapshot:GetValueVariantReturns the value for the given key.
ConfigSnapshot:GetValueChangedSignalRBXScriptSignalReturns a signal that fires when the value for the given key changes due to a refresh.
ConfigSnapshot:Refresh()Refreshes the snapshot to the latest configuration values.

Inherited from Object

NameType / ReturnsDescription
Object:GetPropertyChangedSignalRBXScriptSignalGet an event that fires when a given property of the object changes.
Object:IsAbooleanReturns true if an object's class matches or inherits from a given class.
Object:isAboolean

ConfigSnapshot:GetValue

Returns the value for the provided key in the snapshot.

Parameters

NameTypeDefaultDescription
keystringKey of the configuration to get the value for.

Returns

TypeDescription
VariantThe value of the configuration for the given key.
FieldValue
securityNone
thread safetyUnsafe
capabilities["Basic"]

ConfigSnapshot:GetValueChangedSignal

Returns a signal that fires when the value for the provided key changes after calling ConfigSnapshot:Refresh().

Parameters

NameTypeDefaultDescription
keystringKey of the configuration to get the change signal for.

Returns

TypeDescription
RBXScriptSignalA DataType.RBXScriptSignal that fires when the value for the given key changes upon refresh.
FieldValue
securityNone
thread safetyUnsafe
capabilities["Basic"]

ConfigSnapshot:Refresh

Refreshes the snapshot to the latest configuration values from the service. If not called, the snapshot will continue to reflect the values at the time it was created or last refreshed.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Basic"]

Events

NameType / ReturnsDescription
ConfigSnapshot.UpdateAvailableFires when a newer version of the configuration is available.

Inherited from Object

NameType / ReturnsDescription
Object.ChangedFires immediately after a property of the object changes, with some limitations.

ConfigSnapshot.UpdateAvailable

Fires when a newer version of the configuration is available than the current snapshot. You can perform validation and/or call ConfigSnapshot:Refresh() to update to the latest values.

FieldValue
securityNone
capabilities["Basic"]