What's the whole purpose of SaveInstance()?

I can’t really tell what SaveInstance() is for besides for exploiters saving local scripts and maps. Can someone enlighten me the whole purpose of SaveInstance()?

1 Like

Many years ago, there was no DataStoreService. Instead, we only had something called “Data Persistence”. This was a more primitive solution, with methods accessible through a Player.

Once upon a time, developers may have used that particular method to save models a user made in a building game. Data Persistence has been deprecated for years, however, so you’d no longer use it.

Its existence shouldn’t pose a security risk to your games. :slight_smile:

7 Likes

In addition, SaveInstance is server-only, and as such exploiters cannot use it to save scripts and maps. Even if they could, you can only retrieve it from the same place you saved it in, so there is absolutely no risk.

The SaveInstance method used by exploit code and the one found in Roblox API are two completely different functionalities altogether that simply share the same name.

SaveInstance in API is part of the now-deprecated data persistence method set. It literally saves an instance’s data to a client (comparable example: SaveNumber, which saves a number instead). Data persistence was the predecessor to DataStoreService - it saved data to players per place. SaveInstance from exploits is used to copy and steal whole places.

3 Likes