Release Notes for 489

Notes for Release 489

61 Likes

Client Difference Log

API Changes

Renamed Class "GetDataStoreOptions" to "DataStoreOptions"

Renamed Class "ObjectVersionInfo" to "DataStoreObjectVersionInfo"

Added Class DataStoreKey : Instance [NotCreatable] [NotReplicated]
	Added Property string DataStoreKey.KeyName [ReadOnly]

Added Class PathfindingModifier : Instance
	Added Property string PathfindingModifier.ModifierId

Added Class DataStoreListingPages : Pages [NotCreatable] [NotReplicated]

Added Property int64 DataStoreKeyInfo.UpdatedTime [ReadOnly]
Added Property bool Studio.DEPRECATED_DisableAccuratePlaySolo {RobloxScriptSecurity}
Added Property bool Studio.Show Navigation Areas {RobloxScriptSecurity}

Added Function Dictionary DataStoreKeyInfo:GetMetadata()
Added Function Array DataStoreKeyInfo:GetUserIds()

Added Event GuiService.CoreGuiRenderOverflowed() {RobloxScriptSecurity}

Added EnumItem ConnectionError.DisconnectClientFailure : 284

Added Tag [NotBrowsable] to Class FaceControls

Changed the category of Property FaceControls.Corrugator 
	from: "Control"
	  to: "Brows"

Changed the category of Property FaceControls.LeftBrowLowerer 
	from: "Control"
	  to: "Brows"

Changed the category of Property FaceControls.LeftInnerBrowRaiser 
	from: "Control"
	  to: "Brows"

Changed the category of Property FaceControls.LeftNoseWrinkler 
	from: "Control"
	  to: "Brows"

Changed the category of Property FaceControls.LeftOuterBrowRaiser 
	from: "Control"
	  to: "Brows"

Changed the category of Property FaceControls.RightBrowLowerer 
	from: "Control"
	  to: "Brows"

Changed the category of Property FaceControls.RightInnerBrowRaiser 
	from: "Control"
	  to: "Brows"

Changed the category of Property FaceControls.RightNoseWrinkler 
	from: "Control"
	  to: "Brows"

Changed the category of Property FaceControls.RightOuterBrowRaiser 
	from: "Control"
	  to: "Brows"

Changed the category of Property FaceControls.EyesLookDown 
	from: "Control"
	  to: "Eyes"

Changed the category of Property FaceControls.EyesLookLeft 
	from: "Control"
	  to: "Eyes"

Changed the category of Property FaceControls.EyesLookRight 
	from: "Control"
	  to: "Eyes"

Changed the category of Property FaceControls.EyesLookUp 
	from: "Control"
	  to: "Eyes"

Changed the category of Property FaceControls.LeftCheekRaiser 
	from: "Control"
	  to: "Eyes"

Changed the category of Property FaceControls.LeftEyeClosed 
	from: "Control"
	  to: "Eyes"

Changed the category of Property FaceControls.LeftEyeUpperLidRaiser 
	from: "Control"
	  to: "Eyes"

Changed the category of Property FaceControls.RightCheekRaiser 
	from: "Control"
	  to: "Eyes"

Changed the category of Property FaceControls.RightEyeClosed 
	from: "Control"
	  to: "Eyes"

Changed the category of Property FaceControls.RightEyeUpperLidRaiser 
	from: "Control"
	  to: "Eyes"

Changed the category of Property FaceControls.JawDrop 
	from: "Control"
	  to: "Jaw"

Changed the category of Property FaceControls.JawLeft 
	from: "Control"
	  to: "Jaw"

Changed the category of Property FaceControls.JawRight 
	from: "Control"
	  to: "Jaw"

Changed the category of Property FaceControls.ChinRaiser 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.ChinRaiserUpperLip 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.FlatPucker 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.Funneler 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.LeftCheekPuff 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.LeftDimpler 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.LeftLipCornerDown 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.LeftLipCornerPuller 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.LeftLipStretcher 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.LeftLowerLipDepressor 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.LeftUpperLipRaiser 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.LipPresser 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.LipsTogether 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.LowerLipSuck 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.MouthLeft 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.MouthRight 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.Pucker 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.RightCheekPuff 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.RightDimpler 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.RightLipCornerDown 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.RightLipCornerPuller 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.RightLipStretcher 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.RightLowerLipDepressor 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.RightUpperLipRaiser 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.UpperLipSuck 
	from: "Control"
	  to: "Mouth"

Changed the category of Property FaceControls.TongueDown 
	from: "Control"
	  to: "Tongue"

Changed the category of Property FaceControls.TongueOut 
	from: "Control"
	  to: "Tongue"

Changed the category of Property FaceControls.TongueUp 
	from: "Control"
	  to: "Tongue"

Changed the return-type of Function DataStoreService:ListDataStoresAsync 
	from: DataStoreEnumerationPages
	  to: DataStoreListingPages

Moved Property KeyName
	from: Class DataStoreKeyInfo
	  to: Class DataStoreKey

Moved Property CreatedTime
	from: Class DataStoreObjectVersionInfo
	  to: Class DataStoreKeyInfo

Moved Property Version
	from: Class DataStoreObjectVersionInfo
	  to: Class DataStoreKeyInfo

Removed Class DataStoreKeyVersionInfo
	Removed Property DataStoreKeyVersionInfo.CreatedTime
	Removed Property DataStoreKeyVersionInfo.UpdatedTime
	Removed Property DataStoreKeyVersionInfo.Version
	Removed Function DataStoreKeyVersionInfo:GetMetadata
	Removed Function DataStoreKeyVersionInfo:GetUserIds

Removed Class DataStoreEnumerationPages

Removed Property Studio.Disable Accurate Play Solo

(Click here for a syntax highlighted version!)

24 Likes

image

When would there ever be a humanoid that was not owned by the client or server?
I assume any humanoid created on the client is owned by it? And any humanoid created on the server is owned by it?

Not sure I understand the whole ownership thing.

11 Likes

My Speculation

When the FloorMaterial value was calculated it could send network packets across the server/client boundary when it wasn’t necessary. 100 players observing the FloorMaterial of 100 humanoids would spam a lot of packets around.

The value is now just calculated from the observer’s perspective on the fly without involving any network activity.

30 Likes

Do we know anything about the PathfindingModifier? It seems like just an empty class right now and I can’t find any references.

I’m working on a controller, pathfinder and navigation mesh generator / editor right now (https://discord.gg/vthYgkBDDq). Roblox picking up pathfinder development grabs my attention.

12 Likes

Very excited to see improvements coming to the PathfindingService!

@IdiomicLanguage PathfindingModifiers (from the limited explanation I got from a Roblox staff) is going to be very useful when you want NPC / AIs to react to certain objects (ie. doors) while pathfinding. They haven’t shared too much but (from my own speculation) I believe the initial release will only cover whitelist/blacklisting parts or some sort of way for an agent to bypass/interact certain structures. Looking forward to more information they will release in the future though, this is very promising for the future of pathfinding.

10 Likes

Yes. It’s a step in the right direction. It is interesting to me that it can modify a mesh. That tells me it is a connection that conditionally exists. This may lead to issues (grabbing keys to unlock other doors means re-finding paths to the doors they unlock). If connections can decrease cost or provide one lower than straight line distance at walkspeed, then the path may not always be the shortest, like missing teleporters or cannons. I’ll be interested to see how they resolve these issues. I have my way to deal with them in my own pathfinder.

Roblox still doesn’t allow modifying meshes or more detailed generation settings like other game engines. It’s still far behind the game.

As a user, I am glad it is coming. It still seems there is room for competition though, and my service (which despite these features and more being present in other game engines in their Recast & Detour implementations, I still hope to replace them all with a better service).

11 Likes

Is there any more information on the HumanoidDescription memory leak?

5 Likes

OH yeah! I was waiting improvement on PathFinding since a big While!!
I hope we will also have more options with the NavigationMesh
image

2 Likes