Roblox cover
Roblox screenshot
PC Mac Android iOS XONE
Genre: Platform, Simulator, Adventure

Roblox

Release Notes for 471

Improvements

Note Status

Asset Manager List Items are now more compact! Less extra white space will allow users to see more items in the view.

Live

Recent searches in the explorer are saved up to the most recent 10 searches.

Pending

Visual improvement to the “Use Local Space” menu item icon in Studio dark theme.

Live

Improvements to Luau VM memory analysis tools including new Memory groups in the Developer Console.

Live

Removed AssetService/CreatePlaceInPlayerInventoryAsync.

Live

Fixes

Note Status

Attributes serialization is now deterministic. This fixes scenarios where Packages with Attributes can be marked as modified incorrectly.

Live

Fixed a Luau compatibility bug with userdata comparison; userdata objects now always compare equal to each other since __eq calls are not performed on the object and itself.

Pending

Fixed a bug with Humanoid movement where standing on the tip of a slope could cause the humanoid to teleport to the world origin.

Live

Changes

Note Status

Default RenderFidelity now set as Automatic for new imported meshes.

Pending

[Luau] When a magic function (e.g. Instance.new/string.format) is aliased through a local or property, invoking the alias will now invoke the magic function. Luau will now flag erroneous formatting attempt like so:

local fmt = string.format
local result = fmt(“%d”, “oops”)

Live

Added generic type pack syntax to functions: function f<a...>(...: a...) end.

Live

Release Notes for 470

Fixes

Note Status

Fixed an issue where studio crashes when a user pastes a package into Explorer right after opening the place and then try to publish the place immediately.

Pending

Resolved a performance issue when stepping through code that caused a slowdown over time.

Live

Fixed the servo instability caused by large angular speeds and/or small torques.

Pending

Changes

Note Status

Switched beta features dialog, explorer, properties to smooth scrolling.

Live

Warning underlines enclosed by error underlines are no longer displayed.

Live

ProximityPrompts which have been disabled on the server do not fire events in server scripts.

Pending

If, for some reason, you include a universeId as a parameter in a content id, it must be correct.

Live

Added the debug.info function which allows retrieving information about stack frames or functions; similarly to debug.getinfo from Lua, this accepts an options string that must consist of characters “slnfa”; unlike Lua that returns a table, the function returns all requested values one after another to improve performance.

Live

Indoor environment specular and diffuse now updates dynamically at runtime. They can be tuned on by Lighting/EnvironmentSpecularScale and Lighting/EnvironmentDiffuseScale. This works best with Future mode.

Live

Removed autofocus from Animation Clip Editor rig selection.

Live

Improvements

Note Status

Dramatically speed up thumbnailing for complex models.

Live

When debugging inside coroutines, the Call Stack panel will display frames that have resumed the coroutine.

Live

A torsion spring applies a torque based on a relative angle and a relative angular velocity. Specifically, torsion springs try bring two axes from two parts together in a compliance way. An example use of this constraint are door hinges, vehicle’s suspension, etc.

Live

Animations may now be up to 1800 seconds long.

Live

Release Notes for 469

Changes

Note Status

Added a property MaxVisibleGraphemes that allows only displaying partial string of text object.

Pending

Modified LSP linting to properly display warning/error underlines that occur at EOL/EOF.

Live

Indoor environment specular and diffuse now updates dynamically at runtime. They can be tuned on by Lighting/EnvironmentSpecularScale and Lighting/EnvironmentDiffuseScale. This works best with Future mode.

Live

Added Luau syntax for typed variadics:

  • function foo(…: T): …T
  • type F = (…T) -> …T
Live

Added a new OverlapParams object an overlap query API for finding all parts in a given area: GetPartBoundsInBox, GetPartBoundsInRadius, and GetPartsInPart.

Pending

Luau always checks the method bodies of all methods, even if self is of type any.

Pending

Added support for emote Id in both HumanoidDescription/GetEquippedEmotes and HumanoidDescription/SetEquippedEmotes. You can now access the “Id” of an emote in the emote tables returned by GetEquippedEmotes and can set the “Id” of an emote in the argument for SetEquippedEmotes.

Pending

Fixes

Note Status

Fixed channel mix-up problems for JPEG thumbnails for 2 channel PNG decals.

Live

Luau Types: Fixed a bug where number | number was not considered to be a number in some operations.

Live

Fixed a bug where certain prismatic joints between objects with large mass ratios and/or large separation distances caused the smaller moving object to drift off the constraint axis. This fixes the drift and the objects should remain on the specified constraint axis.

Reported at https://devforum.roblox.com/t/prismatic-constraints-stop-working-and-fall-after-a-certain-distance-which-depends-on-the-size-of-the-part/650510/6. This link gives an example file with a case of large mass ratios between objects.

Live

Fixed skinned mesh animation in viewport.

Live

Improvements

Note Status

Luau now supports generic type arguments to functions.

Pending

Luau Types: Improved precision with type alias hoisting.

Live

When using a legacy “www.” thumbnail url with an ImageLabel or Decal it will be internally rewritten to the rbxthumb format.

Live

Release Notes for 467

Fixes

Note Status

Fixed an issue where the allow or deny Script Injection prompt was shown multiple times for a plugin.

Live

Fixed the incorrect universal constraint widget when the underlying attachments are dislocated.

Live

Fixed one of the sources of free types leaking out of a module.

Pending

Luau: Fixed string.format using the wrong argument to compute the required parameter types.

Live

Changes

Note Status

Breakpoints set or modified from the breakpoints widget now propagate those changes when Universal Breakpoints are enabled.

Live

Luau Types: Optional types are now reported in errors and warnings using optional syntax instead of unions with nil.

Live

Really old virus scripts might not run, but they can be re-enabled by modifying them in any way.

Pending

Improvements

Note Status

Added cone limits to rods.

Live

Release Notes for 466

Changes

Note Status

Added a readonly “Content” property on text object which will show raw string that gets displayed onto screen. When richtext is enabled, this will show string with all format tags stripped.

Pending

Added a new UIStroke object for applying outlines to text and UI borders.

Pending

Added new icons for default asset folders in asset manager.

Live

Now datatype/UDim|UDim, datatype/Rect|Rect, and datatype/NumberRange|NumberRange PropertyItem expanded components will sort by constructor order instead of alphabetically.

Live

Added a debug visualizer for adaptive timestepping.

Live

Tweaking a few material physics properties with respect to collision handling:

  1. Friction weights:
  • GLACIER_MATERIAL -> 2.0
  • SNOW_MATERIAL -> 3.0
  • MUD_MATERIAL -> 3.0
  • LEAFYGRASS_MATERIAL -> 2.0
  • PAVEMENT_MATERIAL -> 0.3
  1. Elasticity weights:
  • PEBBLE_MATERIAL -> 1.5
  • GRASS_MATERIAL -> 1.5
  • SAND_MATERIAL -> 2.5
  • SNOW_MATERIAL -> 4.0
  • MUD_MATERIAL -> 4.0
  • LEAFYGRASS_MATERIAL -> 2.0
Pending

Added new events to RunService for easily hooking into the Roblox task pipeline.

Pending

Fixes

Note Status

Luau: Fixed string.format using the wrong argument to compute the required parameter types.

Live

Default Animation Thumbnail shown on animation export

Pending

Improvements

Note Status

Now really old virus scripts might not run, but can be re-enabled by modifying them in any way.

Pending

Clouds level of detail adaption based on Quality Level.

Pending

Improved streaming garbage collection handling of mechanisms.

Pending

Release Notes for 465

Changes

Note Status

Added a readonly “Content” property on text object which will show raw string that gets displayed onto screen. When richtext is enabled, this will show string with all format tags stripped.

Pending

Overlapping BillboardGui elements handle user input on the top-most item.

Live

Simulation radius is limited to a maximum value.

Live

Luau: New :: type assertion operator.

Live

Previously, passing a restricted Instance (e.g. something under CoreGui) to TweenService would return a different error message based on if a property did/didn’t exist on that Instance. This change returns the same error message. This is not expected to affect game developers.

Live

Luau now checks that indexing into a table either has an indexer or is indexed by a string.

Pending

Fixes

Note Status

Fixed small Align Tool bugs: Align button is now re-enabled after switching local space setting, and preview UI now shows up the first time you mouse over the alignment settings panel.

Pending

Fixed an edge case where the index expression in foo[bar] was never type checked.

Live

Added an --analyze-fflags option to roblox-cli luau which enables the same fast flags as roblox-cli analyze.

Live

Fixed incorrect decal thumbnails for grayscale with alpha images.

Live

Luau: Fixed a bug that caused Studio to crash while reporting errors on aliased types that refer to cyclic generic types.

Live

Improvements

Note Status

Improved Poppercam performance in complex worlds.

Live

Luau type checker is now smarter about applying refinements in conditional expressions.

Pending

Luau Types: Now produces a clearer error when error reporting on types not valid for comparisons using relational binary operators.

Live

Improved streaming garbage collection handling of mechanisms.

Pending

Release Notes for 464

Changes

Note Status

Removed the obsolete manual “Upload Log Files” option from the File>Advanced menu in Studio.

Live

Introduced a way for engineers to reorder specific properties in the same category in the Properties widget. AssemblyLinearVelocity was moved next to AssemblyAngularVelocity.

Live

Asset Configuration: Description field is now optional when publishing new assets. It already was when editing existing assets.

Live

Tables can now be inspected in My Watches debugger tab.

Live

The Align Tool now appears in the Model tab, when enabling the Align Tool Improvements beta feature. In addition, the local alignment and alignment preview features are now on by default.

Live

Colormap terrain imports with a significant portion of pixels that do not match a known material will generate a warning dialog, prompting the user to fix the colormap.

Live

The message “ScriptGuid “%s” invalid. Replaced with “%s”.” is no longer shown when the original guid is two concatenated guids. The guid is still changed and new guid is logged to file.

Live

Previously, passing a restricted Instance (e.g. something under CoreGui) to TweenService would return a different error message based on if a property did/didn’t exist on that Instance. This change returns the same error message. This is not expected to affect game developers.

Live

When building a union type, check if the types are equal using structural equality, and if so don’t build a union. Needed for code like (f or g)().

Pending

Added Luau type bindings for the File class.

Pending

Enables left and right brackets as hot keys to scrub the timeline in AnimationClipEditor.

Live

AnimationClipEditor displays time (in seconds) when hovering over the timeline.

Pending

Added a new property OffSale|IncludeOffSale to CatalogSearchParams to allow searching for offsale items with AvatarEditorService/SearchCatalog|AvatarEditorService:SearchCatalog().

Live

Improvements

Note Status

Made Studio “System Default” language option work with non English/Chinese languages. Note: when we enable this change, there will be a one-time reset to all users’ language settings (to “System Default”). The setting can be switched back to another language if you prefer Studio to be displayed in a different language than the OS.

Live

Improved height map import loading bar.

Pending

ThumbnailCamera is now supported in the Asset Configuration window.

Live

Support a zero-argument constructor to Rect in the Luau type definitions.

Pending

Adds a ParticleEmitter/TimeScale|TimeScale property to custom particle emitters that allows one to slow down the particle simulation.

Live

Added BasePart/GetVelocityAtPosition.
Deprecated BasePart/Velocity and BasePart/RotVelocity.

Live

Luau now checks DataModel accesses for scripts in strict mode.

Pending

Updated Draggers in AnimationClipEditor.

Pending

Fixes

Note Status

Toolbox: Fixed showing voting buttons after inserting an asset

Live

Toolbox: Mixed results could be shown when switching categories in My Creations.

Live

Toolbox: Rapidly switching between categories could cause mixed results.

Live

Dragging a Decal out of the toolbox onto Terrain no longer causes the draggers to throw an error.

Live

Tabs other than the Plugins tab in Roblox Studio were previously unable to collapse fully when the Roblox Studio window was resized very narrow. They should now collapse correctly with scrolling so that all controls are always accessible no matter how narrow the window is.

Live

Missing ‘On All Exceptions’ option in the ‘Debug Errors’ script menu section has returned.

Live

Fixed Model/SetPrimaryPartCFrame and Model/GetPrimaryPartCFrame error logging typo.

Live

Release Notes for 463

Fixes

Note Status

Fixed certain fonts appearing blurry and misaligned when made bold.

Pending

Luau Types: fixed an issue that caused declared table types to be occasionally shown in error messages in expanded form instead of being referred to by name.

Live

Fixed issue where wrong terrain lod sometimes appeared when adding terrain.

Live

Improvements

Note Status

Improved performance for alias dereference in large places.

Pending

Refactored Toolbox’s plugin purchase dialogs.

Live

Colormap terrain imports with a significant portion of pixels that do not match a known material will generate a warning dialog, prompting the user to fix the colormap.

Live

Fixed inconsistent keycodes when using the command key on mac in Studio.

Pending

When building a union type, check if the types are equal using structural equality, and if so don’t build a union. Needed for code like (f or g)().

Pending

Changes

Note Status

A terrain brush default behavior in Terrain Edit mode has been changed such that it allows the brush to interact only with terrain or baseplate. Previously it was also colliding with all 3D objects (Part, MeshPart, Mesh, etc).

If a terrain brush can’t find any terrain ( i.e. there is no terrain in the place) and the ray is able to intersect with XZplane with Y = 0, the default position for the brush will be the intersection of the ray and XZplane with Y = 0.

Live

Introduces 3 new particle orientations on top of the existing one:

  • FaceCamera: standard camera facing billboard quad, matches existing behaviour.
  • FaceCameraWorldUp: face the camera, but rotating only on the vertical world-up Y-axis. One might use this on rain drops falling down.
  • VelocityParallel: construct a quad using the particle’s velocity vector, and a vector from a cross-product and the camera view direction.
  • VelocityPerpendicular: take the particle’s velocity vector and use it as the quad’s normal. Create the quad’s first axis from the cross product of said normal and the camera view direction, and the second axis by crossing the normal and the first axis.
Pending

Release Notes for 462

Fixes

Note Status

Fixed a crash when deselecting an instance while the Properties widget was resolving its Decal ID to the Image ID.

Live

Dragging a Decal out of the toolbox onto Terrain no longer causes the draggers to throw an error.

Pending

Luau Types: fixed an issue where type mismatch errors involving class types would describe an incorrectly reversed direction of conversion.

Live

Resolved an issue causing the PrimaryPart property of models to be cleared when the part is streamed out and back in again.

Live

Changes

Note Status

RaycastParams/FilterDescendantsInstances may now take nested tables, e.g. RaycastParams.FilterDescendantsInstances = {{part1}, {part2}} is now valid.

Pending

JSON API information now contains thread safety information.

Live

Allow a table with an indexer to get properties added to it.

Pending

Universal Constraint: A new physics constraint that ensures two axes on two rigid bodies remain perpendicular. An example use of this constraint are power transmission between the transmission and rear drive shafts of rear-wheel drive cars, robotics, etc.

Live

Typed Luau now traces types across modules even in nonstrict mode.

Live

Improvements

Note Status

Drastically sped up colormap preprocessing.

Pending

Parallel Lua: calling print() and triggering errors is now thread safe.

Live

Parallel Lua: changed internal behavior of debug.profilebegin and debug.profileend to be thread safe.

Live

Ensured environment lighting update upon change of custom skybox when atmosphere is in use.

Live

Release Notes for 461

Changes

Note Status

Removed automatic deselection of gamepad selected UI elements when they move offscreen.

Live

Added the capability to create different modes of attachment placement at creation time.

Live

To activate VR when using a SteamVR compatible headset, SteamVR must now already be running when Client/Studio are launched. This is intended to make the VR interactions with Roblox platform more intentional, so that when you want to use it you can start SteamVR manually instead of Client/Studio starting it automatically.

Live

Added a new property IncludeOffSale to CatalogSearchParams to allow searching for offsale items with AvatarEditorService/SearchCatalog

Live

Improvements

Note Status

Updated the Animate script to address foot slide due to bad blending/timewarping between default walk and run animation (visible for instance when setting the humanoid speed to 2).

Live

Enabled a new and improved collision pipeline to speed up simulation of large collections of welded parts.

Pending

Improved indoor specular IBL.

Pending

It is now possible to use Step Over/Step Out/Step Into debugger commands inside a coroutine.

Live

Fixes

Note Status

Luau Types: fixed a bug that prevented a scope from being typechecked after a duplicate type definition error had been reported.

Live

Fixed WeldConstraint issues in Team Create.

Pending

Fixed the incorrect behavior of the Servo Motor when angular motion is limited in Hinge and Cylindrical Constraints. The incorrect behaviors of the visualization of the servo limits and the target angles were also fixed.

Pending