Make the character unlocked and archivable

Over a decade ago there was a feature called Build mode. This was like studio, except you would run around with your character and make edits using some simple backpack tools. To prevent the character from saving with the rest of the place file in build mode, it was made non-Archivable. To prevent the player from accidentally killing themselves with edit tools, the parts of the character were made to be Locked.

Today, the character being locked and unarchivable is a nuisance. It’s one of those subtle, idiomatic roblox things that makes zero sense and trips people up. Even if you know about it, it’s still annoying to take the extra step to work with it.

So stop doing this.

27 Likes

I would take a bit less of a heavy-handed approach at the end there, but yes. I find that avatars being un-Archivable by default often impedes my game development, such as spawning bodies of players via duplication.

I’m not sure if this is actually intended to prevent developers from accidentally transforming themselves while in Play Solo mode, (edit: Archivable only affects read-write, not selectability, so otherwise there is no real utility) but overall it is a bit of a nuisance.

2 Likes

The only potential issue i can see is if a game uses SavePlaceAsync(), since that may end up with a number of dummy characters saved as well (for the very few games that make use of that feature), which could be a bit of a pain to clean up post change.

An announcement before such a change is implemented would be greatly appreciated.

2 Likes

Thanks for the feedback Sharksie – could you share a little bit more about what you are doing / trying to do when you get tripped up with this behavior? Understanding the use cases better will help us dig in here.

3 Likes

I start play solo to grab a copy of my character to mess with in edit mode, but ctrl+c does nothing. I had forgotten to tick the box that makes copying work.

I want to clone anything that goes through a cloning machine in my game. Characters don’t get cloned. Now I have to set everything that enters to archivable, even though nothing in my game has archivable false.

I paste my character into edit mode and try to select a part. It fails. I had forgotten to tick the box that lets me select what I’m clicking on.

I am testing my game and I want to be on the other side of a wall. I attempt to Move Tool my character through the wall, but it fails. I had forgotten to unlock my character.

In general, there is at least one unnecessary button click any time you try to interact with your character in studio.

7 Likes

Archivable needs to be removed from characters, this property is a constant source of mistakes and occasionally unintentional data loss, is almost never relevant, and is exclusively used for characters right now as far as I know. Plus it is completely unnecessary for characters now, and thus is needlessly confusing as a result because it is scarcely used. See also:

This property should be fully behind the scenes and not used intentionally by the engine for core features because that is not needed. Developers should be the only ones turning this off.

However, I would argue against changing if the character is locked because this will break some games (notably building games) that rely on the Locked property. Would recommend this feature request instead to deal with locked parts in Studio.

1 Like

I disagree. This is something I make use of in Codify, where the plugin has the ability to export a code snippet to a temporary script, in order to prompt the user to save the file to their device (see # Script Injection). The reason for making the generated script unarchivable is so that the temporary script isn’t saved during autosave.

I do, however, agree with hiding the property if it’s still at its default value. This wouldn’t disrupt any part of my plugin’s functionality, and still ensures that temporary Instances aren’t saved during autosave or publish, in cases where setting something as unarchivable is relevant.

1 Like

@PeZsmistic @cxmeels

This isn’t a thread about making changes to the Archivable property. This is specifically about characters.

1 Like

cc @Sharksie I meant that archivable needs to be removed from characters in case that was not clear. Why would I suggest a feature request for its visibility in studio if I wanted it removed entirely? Edited reply.

Archivable is super important for plugins. It’s use for characters by default however only creates confusion.

3 Likes

The amount of times I’ve forgotten to tick the box is actually frustrating… I don’t see the need to keep this supported for characters when SaveInstance is already deprecated.

2 Likes