Release Notes for 451

Notes for Release 451

35 Likes

Client Difference Log

API Changes

Added Class CatalogPages : Pages [NotCreatable] [NotReplicated]

Added Property bool GamepadService.GamepadCursorEnabled {RobloxScriptSecurity} [Hidden] [NotReplicated]
Added Property bool Studio.Auto Clean Empty Line
Added Property int UserGameSettings.GraphicsQualityLevel {RobloxScriptSecurity}

Added Function Instance AvatarEditorService:SearchCatalog(CatalogSearchParams searchParameters) [Yields]
Added Function Objects BasePlayerGui:GetGuiObjectsInCircle(Vector2 position, float radius) {RobloxScriptSecurity}
Added Function void Chat:SetBubbleChatSettings(Variant settings)
Added Function Vector2 GamepadService:GetGamepadCursorPosition() {RobloxScriptSecurity}
Added Function void GamepadService:SetGamepadCursorPosition(Vector2 position) {RobloxScriptSecurity}

Added Event Chat.BubbleChatSettingsChanged(Variant settings) {RobloxScriptSecurity}
Added Event StudioService.PromptTransformPluginCheckEnable() {RobloxScriptSecurity}

Added Enum AvatarItemType
	Added EnumItem AvatarItemType.Asset : 1
	Added EnumItem AvatarItemType.Bundle : 2

Added Enum BundleType
	Added EnumItem BundleType.BodyParts : 1
	Added EnumItem BundleType.Animations : 2

Added Enum CatalogCategoryFilter
	Added EnumItem CatalogCategoryFilter.None : 1
	Added EnumItem CatalogCategoryFilter.Featured : 2
	Added EnumItem CatalogCategoryFilter.Collectibles : 3
	Added EnumItem CatalogCategoryFilter.CommunityCreations : 4
	Added EnumItem CatalogCategoryFilter.Premium : 5

Added Enum CatalogSortType
	Added EnumItem CatalogSortType.Relevance : 1
	Added EnumItem CatalogSortType.PriceHighToLow : 2
	Added EnumItem CatalogSortType.PriceLowToHigh : 3
	Added EnumItem CatalogSortType.RecentlyUpdated : 4
	Added EnumItem CatalogSortType.MostFavorited : 5

Added Tag [NotReplicated] to Property Player.OsPlatform
Added Tag [NotReplicated] to Property Studio.Background Color
Added Tag [NotReplicated] to Property Studio.Built-in Function Color
Added Tag [NotReplicated] to Property Studio.Comment Color
Added Tag [NotReplicated] to Property Studio.Current Line Highlight Color
Added Tag [NotReplicated] to Property Studio.Debugger Current Line Color
Added Tag [NotReplicated] to Property Studio.Debugger Error Line Color
Added Tag [NotReplicated] to Property Studio.Error Color
Added Tag [NotReplicated] to Property Studio.Find Selection Background Color
Added Tag [NotReplicated] to Property Studio.Keyword Color
Added Tag [NotReplicated] to Property Studio.Matching Word Background Color
Added Tag [NotReplicated] to Property Studio.Number Color
Added Tag [NotReplicated] to Property Studio.Operator Color
Added Tag [NotReplicated] to Property Studio.Preprocessor Color
Added Tag [NotReplicated] to Property Studio.Selection Background Color
Added Tag [NotReplicated] to Property Studio.Selection Color
Added Tag [NotReplicated] to Property Studio.String Color
Added Tag [NotReplicated] to Property Studio.Text Color
Added Tag [NotReplicated] to Property Studio.Warning Color
Added Tag [NotReplicated] to Property Studio.Whitespace Color

Changed the parameters of Function AvatarEditorService:GetItemDetails 
	from: (int64 itemId, Enum<ItemType> itemType)
	  to: (int64 itemId, Enum<AvatarItemType> itemType)

Changed the security of Property StudioData.EnableScriptCollabByDefaultOnLoad 
	from: {PluginSecurity}
	  to: {RobloxScriptSecurity}

Changed the security of Property StudioData.EnableScriptCollabOnLoad 
	from: {PluginSecurity}
	  to: {RobloxScriptSecurity}

Changed the security of Property StudioData.EnableScriptCollabVersionHistoryOnLoad 
	from: {PluginSecurity}
	  to: {RobloxScriptSecurity}

Changed the serialization of Property Player.OsPlatform 
	from: [<🕒> RuntimeOnly]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Background Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Built-in Function Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Comment Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Current Line Highlight Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Debugger Current Line Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Debugger Error Line Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Error Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Find Selection Background Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Keyword Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Matching Word Background Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Number Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Operator Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Preprocessor Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Selection Background Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Selection Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.String Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Text Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Warning Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Changed the serialization of Property Studio.Whitespace Color 
	from: [<💾|📁> Saves|Loads]
	  to: [<📁> LoadOnly]

Removed Enum ItemType
	Removed EnumItem ItemType.Asset
	Removed EnumItem ItemType.Bundle

Removed Tag [NotScriptable] from Property MeshPart.DoubleSided

(Click here for a syntax highlighted version!)

10 Likes


This was put in the Release Notes for 450… Why is it also in here?

Also what are Attributes gonna be?

3 Likes
2 Likes


So uhhh… Does this mean if Line 1 in your script is empty, it does something to it? Please give details. Maybe I read it wrong?

2 Likes

What is the API for doing this? Any reference anywhere?

4 Likes

So is the AvatarEditorService usable in-game? I’ve just started building a game that will feature an avatar editor, and being able to natively search the catalogue as opposed to creating a web API or an “import asset” GUI would be much more convenient!

@grilme99 I seem to remember someone saying it’s a checkbox in Chat properties…? I’m sure an admin will correct me if I’m wrong.

4 Likes

Finally! I’m glad I wasn’t going crazy.

10 Likes

Nope, doesn’t seem to be.

image

3 Likes

Strange.

3 Likes

This was also asked and answered in the replies for 450:

@grilme99

This was answered in 450:

@IAmPinleon Attributes were added a while back, but, they haven’t been released yet. Basically, you can store extra data on instances and it can save on the instance just like tags do. Most data types are supported except certain ones like threads or functions since those can’t exactly be serialized easily. (Although, I could see the possibility of functions being possible, they just aren’t). You could, for example, add a “Health” attribute to something, and, you could adjust it in studio, save the game, and it would keep this attribute.

Now for the actual update stuff :eyes:

This is extremely useful! :smile:
There are so many times I’ve been at a loss for why my modules are not working only to realize “Oh they’re requiring eachother” after 30 minutes of debugging (I was getting better at catching this but uh, either way, this was, and is confusing)

This is very interesting, and, I’m glad to have more control over quality level… There are a lot of in between features that I’d love to turn off in some games, such as DOF, without sacrificing too much else.

This is certainly cool to see, I’m hyped for more parallelization, and possibly some perpendicular bisectors

4 Likes

A lot of updates for the release notes are from the previous Release Notes somehow, a bug or intentional?

This is going to be a huge reply…

chrome_doonNc43fv

This seems important for us scripters to somewhat cleaning up a line if I’m correct here, but what other usecaes or a better explanation would this function do for a line? I’m guessing this just cleans up

chrome_WPQ7ta0eP6

chrome_GCTdCXjMcm

A whole ton of these bugs being fixed, but the terrain tools and a warning when you attempt to move a part has been patched if I recall? Shouldn’t those not be pending but rather live so it wouldn’t confuse me and other developers since I can’t reproduce or have this error anymore. :thinking:

With the GraphicQuality and that value change for in-game settings, that does seem sweet and cool to have but how will it affect gameplay and the quality of what us users see when we set it to 1 or 21 if that’s what the Release Note(s) mentions in it with in-game settings?

Since it does say the existing behavior, what affects/effects will the SavedGraphicsQuality do if a user extends the graphic quality like to 17 or 20 with performance-wise?

In the syntax version of the Release Notes with hidden figures and Enum(s), what do these changes and “Tags” mean and how do they affect us? A lot of changes at the bottom of the syntax version as well, does this include the new syntax highlighting for the code that was mentioned here a while ago or more settings to customize?

2 Likes

Each quality level enables or disables certain graphics features, 21 being equivalent to level 10.
Basically, 1-10 translates somewhere between 1-21, and, each level in all 21 controls some graphics features. This gives us more control over which features get disabled, aka, features won’t get disabled as quickly.

2 Likes

These are automatic tags associated with the internal bit-flags that were set on each property. In this case, the properties were updated to no longer serialize directly in Roblox’s GlobalSettings.xml file. Instead they are serialized elsewhere, through registry keys on Windows in particular.

This change has to do with the theme presets they’ve been adding. They needed a more elegant serialization scheme for studio’s script editor colors, and so they’ve updated the properties to only be read from the xml settings file. They will no longer be written to the file.

My API diff tool is merely a reflection of the signature changes to these APIs, and they may not provide adequate enough context alone to what the changes actually mean. You have to have some internal insights to how Roblox’s reflection system works to fully know what the changes ultimately mean.

For example, properties that are flagged as load-only will automatically have their built-in replication across the server/client boundary disabled, hence the [NotReplicated] tag. This is a behavior inherent of all properties, despite the settings class not interacting with network replication.

3 Likes

@grilme99 Looks to be added to the developer hub now:


Slightly confusing since it states:

To enable BubbleChat without forking Chat , developers only need to add a few lines of code inside of a LocalScript in ReplicatedFirst .

Despite Chat being a service and not forkable? Do we have to fork the chat modules for this property to take effect?

3 Likes

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.