Release Notes for 494

Notes for Release 494


Client Difference Log

API Changes

Renamed Class
"LinearVelocityConstraint" to "LinearVelocity"

Added Class AnimationRigData : Instance
	Added Function bool AnimationRigData:LoadFromHumanoid(Instance humanoid) {RobloxScriptSecurity}

Added Class MaterialService : Instance [NotCreatable] [Service] [NotBrowsable]
	Added Property MaterialVariant MaterialService.Brick
	Added Property MaterialVariant MaterialService.Cobblestone
	Added Property MaterialVariant MaterialService.Concrete
	Added Property MaterialVariant MaterialService.CorrodedMetal
	Added Property MaterialVariant MaterialService.DiamondPlate
	Added Property MaterialVariant MaterialService.Fabric
	Added Property MaterialVariant MaterialService.Foil
	Added Property MaterialVariant MaterialService.Granite
	Added Property MaterialVariant MaterialService.Grass
	Added Property MaterialVariant MaterialService.Ice
	Added Property MaterialVariant MaterialService.Marble
	Added Property MaterialVariant MaterialService.Metal
	Added Property MaterialVariant MaterialService.Pebble
	Added Property MaterialVariant MaterialService.Plastic
	Added Property MaterialVariant MaterialService.Sand
	Added Property MaterialVariant MaterialService.Slate
	Added Property MaterialVariant MaterialService.SmoothPlastic
	Added Property MaterialVariant MaterialService.Wood
	Added Property MaterialVariant MaterialService.WoodPlanks

Added Class MaterialVariant : Instance [NotBrowsable]
	Added Property Enum.Material MaterialVariant.BaseMaterial {PluginSecurity}
	Added Property Content MaterialVariant.ColorMap {PluginSecurity}
	Added Property Content MaterialVariant.MetalnessMap {PluginSecurity}
	Added Property Content MaterialVariant.NormalMap {PluginSecurity}
	Added Property Content MaterialVariant.RoughnessMap {PluginSecurity}
	Added Property float MaterialVariant.StudsPerTile

Added Class CustomDspSoundEffect : SoundEffect [NotCreatable]

Added Class CanvasGroup : GuiObject
	Added Property Color3 CanvasGroup.GroupColor
	Added Property float CanvasGroup.Transparency

Added Property Enum.OrientationAlignmentMode AlignOrientation.Mode
Added Property CFrame AlignOrientation.CoordindateFrame
Added Property Vector3 AlignOrientation.PrimaryAxis
Added Property Vector3 AlignOrientation.SecondaryAxis
Added Property Enum.PositionAlignmentMode AlignPosition.Mode
Added Property Vector3 AlignPosition.Position
Added Property MaterialVariant BasePart.MaterialVariant
Added Property bool ImporterRootSettings.InvertNegativeFaces
Added Property int PausedState.ThreadId {RobloxScriptSecurity} [Hidden] [ReadOnly]
Added Property bool PausedState.AllThreadsPaused {RobloxScriptSecurity} [Hidden] [ReadOnly]
Added Property Enum.AnimatorRetargetingMode Workspace.Retargeting

Added Function void AssetImportService:UpdateSettings(Instance settings) {RobloxScriptSecurity}
Added Function Vector3 Humanoid:GetAccessoryHandleScale(Instance instance, Enum.BodyPartR15 partType) {RobloxScriptSecurity}
Added Function bool PlayerEmulatorService:RegionCodeWillHaveAutomaticNonCustomPolicies(string regionCode) {RobloxScriptSecurity}
Added Function bool VoiceChatService:IsContextVoiceEnabled() {RobloxScriptSecurity}
Added Function bool VoiceChatService:SubscribePauseAll(bool paused)

Added Enum AnimatorRetargetingMode
	Added EnumItem AnimatorRetargetingMode.Default : 0
	Added EnumItem AnimatorRetargetingMode.Disabled : 1
	Added EnumItem AnimatorRetargetingMode.Enabled : 2

Added Enum OrientationAlignmentMode
	Added EnumItem OrientationAlignmentMode.OneAttachment : 0
	Added EnumItem OrientationAlignmentMode.TwoAttachment : 1

Added Enum PositionAlignmentMode
	Added EnumItem PositionAlignmentMode.OneAttachment : 0
	Added EnumItem PositionAlignmentMode.TwoAttachment : 1

Changed the category of Property LinearVelocity.LineDirection 
	from: "LineConstraint"
	  to: "Line"

Changed the category of Property LinearVelocity.LineVelocity 
	from: "LineConstraint"
	  to: "Line"

Changed the category of Property LinearVelocity.PlaneVelocity 
	from: "PlaneConstraint"
	  to: "Plane"

Changed the category of Property LinearVelocity.PrimaryTangentAxis 
	from: "PlaneConstraint"
	  to: "Plane"

Changed the category of Property LinearVelocity.SecondaryTangentAxis 
	from: "PlaneConstraint"
	  to: "Plane"

Changed the category of Property LinearVelocity.VectorVelocity 
	from: "VectorConstraint"
	  to: "Vector"

Changed the parameters of Function DebuggerConnection:Pause 
	from: (Function status)
	  to: (ThreadState thread, Function status)

Changed the parameters of Function DebuggerConnection:Resume 
	from: (Function status)
	  to: (ThreadState thread, Function status)

Changed the thread safety of Function ServiceProvider:FindService 
	from: {🧬Safe}
	  to: {🧬Unsafe}

Changed the thread safety of Function ServiceProvider:GetService 
	from: {🧬Safe}
	  to: {🧬Unsafe}

Removed Property PausedState.IsValid
Removed Property PausedState.ThreadCount
Removed Property PausedStateBreakpoint.BreakpointThread
Removed Property PausedStateException.ExceptionThread

Removed Function PausedState:GetThread

(Click here for a syntax highlighted version!)


Does this mean that animations that were made on a wide, short R15 rig will also look the same on a tall, skinny avatar?

For example, if I make an axe swing animation such that the axe hits the ground on one rig, and I run the animation on my tall & skinny dragon avatar - does the animation get dynamically adjusted so that the axe also hits the ground with my avatar? Am I understanding this correctly?

Right now with the old behavior, the axe would not hit the ground if you ran the animation on a rig of a different scale or proportion.

EDIT : It seems this is the case :smiley:


Yessss! I had just started working on an NPC system and I was low on hopes that Roblox would be shifting attention back to PathfindingService anytime soon.


Is that custom materials I see? :flushed:

More than that, I’m interested in this CanvasGroup object. Making assumptions based off of the name and the API, I’m hoping this is something akin to being able to apply a transparency modifier and have it affect all Gui elements kind of like how SoundGroup’s Volume works. Being able to tween just one transparency and have all elements follow along instead would be great. Not fond of my current implementation… :joy:



It’s basically render to layer: The stuff in the CanvasGroup gets rendered together into it, and then you can apply a transparency + tint to the final result all at once.


Will the CanvasGroup instance potentially get any special features or functionality, or, is it more just a simple QoL thing which opens up more possibilities for developers?

It sounds like it’d already be quite useful for a lot of developers, e.g. making HUD layers, or composites of different UI elements, like multiple ViewportFrames “stitched” together seamlessly, but, it also sounds like something which could solve some issues, for example, I know that rotated clipping is challenging for a bunch of reasons, some of which this feature might resolve.

I ask because it sounds like this is the type of feature Roblox would add as a prerequisite to other features that are being considered, and I’m curious if there’s any plans to use it for something.


This bugfix was listed as “pending” in the last two release notes, but is no longer listed in this one?

I’m still getting this bug in certain situations (scales up with the number of characters in the game), and although I had a workaround, I removed it in anticipation if it getting fixed before I release my game.
Any updates on this?

1 Like

Fear not, the relevant flag just hasn’t been turned on yet.


The animation retargeting seems to be causing some issues, some animations are causing the player’s arms to completely disconnect which never happened before.



I only tested with AlignPosition Obj using a Server Script.
I don’t know if it’s part of the mode OneAttachment, but when i set a new position it doesnt move the part with the Attachment0 to the new position(but changes the position property on the properties tab), i need to set enabled to false and back to true to make it move to the new position.I think it should auto moves the part when changes the position property like with TwoAttachments mode.

1 Like

Is there any word on CanvasGroup?

Are there any updates on this being enabled? It’s still disabled, according to FFlags.

1 Like

That feature isn’t close to release yet (or at least wasn’t when the release note was published).

The release notes item was just the engineers getting the first pieces of it merged into Studio (hence the “Live” marking), because it’s a large feature with a lot of moving pieces that’s better to spread out rather than dump into a single release.


Quick question about animation retargeting - would that fix various issues that can occur between Roblox-created avatar animations and certain avatar packages?

For example, my dragon avatar has its right foot detached with the “warewolf” idle animation at its current scale, but does not have this problem at smaller more proportional scales:

1 Like

Very interested to see what this will be used for

1 Like

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