Reference API Roblox

Engine API

Website

Related

Reference API Roblox

DataStoreService

A game service that gives access to persistent data storage across places in a game.

This class is not replicated. Its interface does not cross the network boundary.
This class is not creatable. Instances of this class cannot be created with Instance.new.
This class is a service. It is a singleton that may be acquired with GetService.
Tags: [NotCreatable, Service, NotReplicated]

Member index 7

HistoryMember
553AutomaticRetry: bool
638GetDataStore(name: string, scope: string = global, options: Instance = Instance): DataStore
638GetGlobalDataStore(): DataStore
483GetOrderedDataStore(name: string, scope: string = global): OrderedDataStore
462GetRequestBudgetForRequestType(requestType: DataStoreRequestType): int
548ListDataStoresAsync(prefix: string = , pageSize: int = 0, cursor: string = ): DataStoreListingPages
inherited from Instance
553Archivable: bool
635Capabilities: SecurityCapabilities
553Name: string
553Parent: Instance
635Sandboxed: bool
616UniqueId: 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
486GetDescendants(): Array
486GetFullName(): string
641GetStyled(name: string): Variant
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
580IsPropertyModified(name: string): bool
573Remove(): null
576RemoveTag(tag: string): null
580ResetPropertyToDefault(name: 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()
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)

Removed member index 1

HistoryMember
478GetDataFromEmptyScopeDataStoreAsyncTemporary(name: string, key: string): Variant

Description

DataStoreService exposes methods for getting GlobalDataStore and OrderedDataStore objects. Data stores can only be accessed by game servers, so you can only use DataStoreService within a Script or a ModuleScript that is used by a Script.

See Data Stores for an in-depth guide on data structure, management, error handling, etc.

History 38

Members 7

AutomaticRetry

TypeDefault
booltrue

Sets whether data store functions should automatically retry or not.

DataStoreService does not respect this property because automatic retry has been disabled due to technical reasons. Therefore, you must implement systems for retrying operations yourself. It is possible that automatic retry will be enabled again in the future.

This property is not replicated. Its interface does not cross the network boundary.

History 4

Tags: [NotReplicated]

GetDataStore

Parameters (3)Default
namestring
scopestringglobal
optionsInstanceInstance
Returns (1)
DataStore

This function creates a DataStore instance with the provided name and scope. Subsequent calls to this method with the same name/scope will return the same object.

Using the scope parameter will restrict operations to that scope by automatically prepending the scope to keys in all operations done on the data store. This function also accepts an optional DataStoreOptions instance which includes options for enabling AllScopes. See Data Stores for details on scope.

History 9

GetGlobalDataStore

Parameters (0)
No parameters.
Returns (1)
DataStore

This function returns the default GlobalDataStore. If you want to access a specific named data store instead, you should use the GetDataStore() function.

History 4

GetOrderedDataStore

Parameters (2)Default
namestring
scopestringglobal
Returns (1)
OrderedDataStore

This method returns an OrderedDataStore, similar to the way GetDataStore() does with GlobalDataStores. Subsequent calls to this method with the same name/scope will return the same object.

History 3

GetRequestBudgetForRequestType

Parameters (1)
requestTypeDataStoreRequestType
Returns (1)
int

This function returns the number of data store requests that the current place can make based on the given DataStoreRequestType. Any requests made that exceed this budget are subject to throttling. Monitoring and adjusting the frequency of data store requests using this function is recommended.

History 2

ListDataStoresAsync

Parameters (3)Default
prefixstring
pageSizeint0
cursorstring
Returns (1)
DataStoreListingPages

Returns a DataStoreListingPages object for enumerating through all of the experience's data stores. It accepts an optional prefix parameter to only locate data stores whose names start with the provided prefix.

Only data stores containing at least one object will be listed via this function.

This function yields. It will block the calling thread until completion.

History 6

Tags: [Yields]

Removed members 1

GetDataFromEmptyScopeDataStoreAsyncTemporary

Parameters (2)
namestring
keystring
Returns (1)
Variant
This function is deprecated. It exists only for backward compatibility, and should not be used for new work.
This function yields. It will block the calling thread until completion.

History 3

Tags: [Yields, Deprecated]

Settings