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

Roblox

Release Notes for 481

Improvements

Note Status

Improved the performance of PlayerListManager with high player counts

Pending

Fixed issue with Toolbox Asset Preview overflowing at narrow widths; added AudioPlayer scrubbing function to Toolbox Asset Preview; and now the Toolbox Asset Preview shows times in the local timezone.

Live

Made the Luau types of GroupService/GetAlliesAsync and GroupService/GetEnemiesAsync more precise.

Live

Optimized and cleaned up ladder detection.

Live

Changes

Note Status

Now, a Publish Failed Page will appear if a game failed to publish.

Pending

Added Player/NetworkPing. This value returns an int that represents the minimum ping time (in milliseconds) of a player, but does not represent how long something like a RemoteEvent may actually take to process (this can change based on how busy the server is, how many remote events are being sent, etc.). This value is only accessible on the server.

Pending

Added SurfaceGui and BillboardGui Brightness properties.

Live

Particle sizes are now allowed to be greater than 200.

Pending

Fixes

Note Status

Fixed UserInputService/ModalEnabled.

Live

Fixed a bug with Accelerated Collision Pipeline and Collision Groups not working correctly.

Pending

Fixed a Luau crash that would occur when checking code that tried to use ServiceProvider/FindService with an illegal service name.

Live

Resolved a Luau crash caused by the type checker reordering method definitions before the object definition.

Pending

Fixed an issue with RequestStreamAroundAsync that occurred when used without a loaded character.

Live

Resolved the following issues, which were reported when testing Beta Features -> Cage Mesh Deformer:
https://devforum.roblox.com/t/cage-mesh-deformer-studio-beta/1196727/165
https://devforum.roblox.com/t/cage-mesh-deformer-studio-beta/1196727/189
https://devforum.roblox.com/t/cage-mesh-deformer-studio-beta/1196727/201

Live

Release Notes for 480

Improvements

Note Status

Improved the performance of PlayerPermissionsModule in games with very high player counts.

Pending

Luau linter now recognizes loops that loop over a table starting from 0 as potentially erroneous, and produces a warning in text editor / script analysis widget.

Live

Particle sizes are now allowed to be greater than 200.

Pending

Changes

Note Status

You can now use <font transparency="0.5">/<font tr="0.5"> to change font transparency for RichText spans.

Pending

Removed Group Inventory from Toolbox (it is available in the Creations tab of Toolbox, and ‘Inventory’ was a misnomer).

Pending

Pivot related properties are no longer shown on the Terrain instance.

Live

When plugin:Activate(true) is called, the 3D viewport will become automatically focused. This allows you to immediately start using the camera controls and other things that rely on keyboard input without having to click in the 3D viewport first after selecting a tool.

Live

Made changes to remove the need for AnimationControllers and allow Animators to go anywhere without the need for a holder/controller instance.

Pending

Added method to queue thread for resumption by the Roblox scheduler.

Live

Added SurfaceGui and BillboardGui Brightness property.

Live

Luau will now allow optional names for function type arguments.

Live

Added a debug visualizer for adaptive timestepping.

Live

Root bones are no longer ignored with skinned meshes when Beta Features → Cage Mesh Deformer is turned on.

Live

R15s imported through the custom workflow will display a prompt asking if the user prefers to import it through the R15 workflow.

Live

Fixes

Note Status

Fixed an issue with Ctrl+F not opening find widget in the Output View.

Live

Fixed broken physics dragger with adaptive timestepping beta on.

Live

Removed a source of exponential blowup in memory usage during Luau typechecking.

Live

Fix for making sure Humanoid jumps when setting Humanoid Jump to true from a script.

Pending

Release Notes for 479

Changes

Note Status

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

Pending

Re-enabled the Http proxy in Studio.

Pending

Added a beta feature for Terrain Quality of Life changes.

Live

Changed the Studio draggers to treat the position of the pivot of a multi-selection as the center of the bounding box of the selection rather than the pivot of the most recently selected object (rotating a multi-selection will work the same as it did pre-pivot).

The orientation of the pivot of the multi-selection will still be determined by the orientation of the pivot of the most recently selected object.

Live

Reworked module cycle handling in Luau type checker; as a consequence, all require cycles are now highlighted as errors in Studio when typechecking is enabled.

Live

Added a new method EnumItem:IsA(string): boolean which behaves similarly to Instance/IsA.

Live

Fixes

Note Status

Fixed a bug where auto-updating packages could cause duplications.

Live

Fixed incorrect size of Studio ribbon buttons when the font is bold.

Live

Fixed loading search results for unknown user filters in the Toolbox.

Live

Fixed a regression in validation for Region3 parameters in certain methods on the Terrain instance. Invalid Region3 parameters will now raise an error to Lua.

Pending

Numeric keys in tables passed through some Roblox APIs are no longer a victim of int32 overflow.

Live

Fixed an issue where Luau could type check a module in Team Create before its dependencies had loaded.

Pending

Improvements

Note Status

Updated the icons for script tabs to something more detailed than a circle.

Pending

Further 35% performance improvement for long raycasts in geometry-dense worlds.

Live

Improved the import of fbx avatars and animations. Previously, animations in an fbx file would only work on the same avatar in that file. Now you can read in an animation from an fbx file with a variety of characters selected and the animation should come in okay in many cases that used to be just chaos.

Live

Changed AvatarEditorService/PromptSaveAvatar and AvatarEditorService/PromptCreateOutfit to automatically changed the provided humanoid description so it meets the allowed Avatar rules such as scale limits and accessory counts.

Pending

Release Notes for 478

Fixes

Note Status

Fixed an issue with ColorSequences in the Properties widget where editing through the text field would not actually update the property.

Live

Fixed a bug that packages auto-update can cause duplications.

Pending

Fixed F to zoom to the current selection not working in Team Create if the camera type was set to something other than Fixed.

Live

Fixed an issue with SystemCursor and the draggers that caused a weird, large grab hand rather than the original, standard grab cursor.

Live

Fixed an issue where plugin scripts wouldn’t correctly terminate upon unloading/reloading.

Live

Addressing https://devforum.roblox.com/t/mobile-emulator-doesnt-fire-userinputservice-lastinputtypechanged/892952

Fixed a Studio Emulator bug where UserInputService/LastInputTypeChanged was not firing in the Studio Emulator for mobile devices.

Starting with this release it is possible to use keyboarders and gamepads within the mobile emulator. The zoom functionality is also enabled for these devices using the left mouse button and the mouse wheel together.

This change only affects the mobile devices in the Studio Device Emulator, so no-device mode or any other type of devices will work as before.

Note that there will be no mouse events in the mobile emulator since the mouse is used to emulate the touch events.

Live

Fixed a bug in studio where clearing shortcuts does not disable them.

Live

Fixed Inner Box generation and added an optional slightly improved mode that we might replace it with.

Live

Changes

Note Status

Removed legacy Surface dropdown from the Studio ribbon.

Live

As stated when adding the API, it is now time for the temporary function to be deprecated. Beginning on May 4th, the API will throw an error when called. On May 11th, the API will no longer be found in the game engine.

Live

Deprecated FilteringEnabled. It has always been enabled for the past few years, but the property will now accurately reflect that FilteringEnabled is true.

Live

Keyframe values cannot be changed anymore in the Animation Clip Editor (either using the text boxes or using the gizmos) while the animation is playing.

Live

Added Workspace property AnimationWeightedBlendFix, which is initially False by default.
There will be a 3-phase rollout of a change to weighted blending of same-priority AnimationTracks which we know will require some developers to update their Lua code to use AnimationPriority as intended, rather than assuming Play() call order of same-priority tracks will continue to exhibit stack-like behavior with newly-started tracks overriding already-playing tracks. This was not happening by design or contract, it was an implementation-defined behavior resulting from a blending arithmetic bug.

Pending

Improvements

Note Status

Model/PivotTo now caches part offsets so that it can safely be called repeatedly without parts under the model accumulating floating point drift, allowing it to be used for custom animation as well as object placement.

Model/PivotTo now only fires CFrame changes on the parts under the model (rather than firing, CFrame, Position, Orientation etc changed) for improved performance.

Live

Luau linter will now highlight more cases when a global variable can be converted to a local variable to avoid subtle bugs in the code.

Pending

Constraints will now update correctly when attached to Bones.

Pending

Release Notes for 477

Changes

Note Status

Toolbox item background now defaults to matching the current theme.

Live

Added a new method to find a descendent of an Instance using breadth-first search.

Pending

Luau Types: In strict mode, operator ‘or’ no longer resolves to an optional type when only the left-hand-side of the operator is an optional.

Live

Improvements

Note Status

Added automatic centering for lines navigated to in the Script Editor.

Live

Released Physical Draggers from beta.

Live

When resetting the primary CFrame of a model in games, its LOD gets transformed too without re-computing its model mesh.

Live

Optimized raycasts for 2x speedups in complex maps.

Live

Luau: Type guards can now be used in conjunction with other constraints, i.e. type(foo) == "Instance" and foo:IsA("Part").

Live

Fixes

Note Status

Fixed a DialogChoice|DialogChoices issue causing the player to get stuck when using a gamepad.

Live

Fixed the proximityPrompt icon.

Live

The type of assert now correctly contains the optional second argument.

Live

Fixed an old math error for the under water fog appearance that was happening when setting Terrain/WaterTransparency to 0 affecting a subset of CPUs.

Live

Fixed an issue where “Root” and “HumanoidRootNode” joints were silently ignored for R15 imports, causing developer confusion.

Pending

Release Notes for 476

Fixes

Note Status

Fixed branch indicator icon’s color issue in explorer window (specific to Big Sur).

Live

The Alignment Tool now updates model pivots correctly.

Live

Fixed an issue where the WorldModel crashes when replicating over Server.

Live

Improvements

Note Status

Dragger performance on large models has been improved: There should no longer be a noticeable delay when starting a drag of a large model.

Live

Improved table.insert performance for small tables by 10-30%.

Live

Improved performance of generating type error messages.

Pending

Changes

Note Status

Using print() will no longer call tostring global (but will still honor __tostring metamedthod)

Live

Model LOD now works with Surface Appearance base color textures.

Pending

HumanoidDefaultAssets folder will be removed from beneath StarterPlayer.

Pending

Release Notes for 475

Fixes

Note Status

Fixed a rare crash when user input occurred before/after the viewport had loaded in/out.

Live

Fixed some bugs with generic variadics:

  • Calling a function returning a generic variadic would produce spurious errors about not enough results.
  • Using a generic variadic argument as an expression would crash.
Live

Improvements

Note Status

Made Studio command names and descriptions more consistent in regards to wording and style.

Live

Table field access and assignment is now faster when the field value is or was nil.

Pending
  • Luau now provides type information for unchecked modules (but errors are silenced).
  • Improved Luau detection of cyclic requires between checked and unchecked modules.
  • Improved Luau error messages for cyclic requires.
  • Luau configuration files are now per-directory rather than per-module.
Pending

The RigBuilder plugin is now localized.

Live

Changes

Note Status

The Scale dragger will now scale uniformly from the center if both Ctrl + Shift are held the first time after being selected (previously it would work on subsequent attempts but not scale uniformly on the first one).

This is thanks to a change in Studio that makes plugins always see correct modifier key states when calling IsKeyDown for the Ctrl / Shift / Alt keys.

Live

Enabled Assembly-based Collision Detection optimization.

Live

Generic parameters and variadic generic parameters can no longer have the same name.

Live

Added a new workspace property, Workspace/ClientAnimatorThrottlingMode' which can be enabled to throttle animators distanced further away or outside of camera frustum. Currently only supported for Humanoid, with plans to support all animators in the long term.

Live

Release Notes for 474

Changes

Note Status

Added the “Pivot Editor” beta feature, which allows custom pivot points to be set for models and parts.

Pending

As noticed in this post the range at which fog becomes opaque underwater is limited, which makes a very short limited range of visibility for places which have more distant content in their experiences underwater.

However, as places may have a designed use of alternative types of submersed liquid and the transparency control already exists in a range [0,1], a limit of further distance and still providing a useful grading for the slider control is updated and is expected to be a reasonable maximum for a foreseeable future.

As many places are tuned to the existing underwater transparency API control, this change is delivered first as a studio beta release where places can enable the beta feature and adapt to this API behavior change.

Consideration for Jerlov water types has been made where fog attenuation underwater is strongly wavelength dependent (color falloff with distance varies differently according to water types). However, these effects are reasonably sufficiently modelled with the existing water fog color API and more physical underwater atmosphere model is deferred to a future date.

Pending

Fixes

Note Status

Fixed a bug causing type mismatch errors to be the reverse of what they should be in some scenarios.

Live

Improvements

Note Status

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

Live

Release Notes for 473

Changes

Note Status

When disabling a UIGradient, if there are other enabled UIGradients parented, one of the enabled UIGradients will be applied.

Pending

The default mode of StreamingPauseMode currently means no streaming pause. With this change the default becomes equivalent to ClientPhysicsPause. If a developer doesn’t want streaming pause to be active they must explicitly select Disabled.

Pending

AnimationClipEditor plugin does not deactivate if the user clicks on the Explorer.

Pending

Fixes

Note Status

Fixed a bug in the Toolbox where searching by creator was returning unusual results.

Pending

Fixed a Luau bug which caused spurious unknown global errors.

Pending

Improvements

Note Status

Improved the error messages for using a generic type as a generic variadic and vice versa.

Live

Code loaded through debug.loadmodule no longer suffers fenv-related performance penalty.

Live

Introduced mechanism to defer code invocation to specific engine steps.

Live

Luau will now be able to refine Instance types via Instance.IsA when used in conditions.

Live

RigBuilder plugin is localized.

Live

Release Notes for 472

Changes

Note Status

The UIStroke beta feature is now available again.

Live

New ScriptAnalysisWidget warning page.

Pending

The task table is now readonly.

Live

Debugger support for parallel Lua scripts has been restored for Lua Parallel Beta participants.

Live

Fixes

Note Status

Fixed a BodyMover bug that caused duplicate, inactive BodyMovers to never become active after the active BodyMover was removed.

Pending

Improvements

Note Status

Made updateVisuallySleeping faster again. Hopefully this time it will stick.

Live

New warning in Studio if scripts set a BindToClose hook and are then destroyed.

Live

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

Live