Release Notes for 578

Will this also grant the ability to make WireframeHandleAdornments always on top? I pray every day.


I want to add that Wireframes do not render on Mobile devices.

1 Like

Yes, that’s one of the fixes!

The idea is that we should naturally be be able to change this without disrupting anything:

  • If you have a custom backpack: There is no backspace on mobile, so if unequipping was important to your game there already must be some other way to do it for mobile players to use.

  • If you don’t have a custom backpack: People can just unequip using the backpack button.


Thank you for the fixes! Is there any plans on when the bug where layered clothing cause lag when changing unrelated part properties will be fixed?



Should I be concerned about this?

Since I have some things that use GetDescendants() and want to make sure my existing code won’t break. Iirc it originally returned a simple table just like how GetChildren() worked. I usually use this in a “for i, v in pairs(Model:GetDescendants())” loop to loop through each descendant of something.


GetDescendants will return the same runtime value, change is only for Luau static analysis to be more precise.

But this will actually not be enabled in current release because of a different small issue with it.


Yeah, I’m super curious about this as well. I wonder what this means


YES! This is an awesome update! I didn’t like how pressing backspace would forcibly put away whatever tool that I was holding, when I wanted to repurpose that key as a “drop/throw” button.

When I added my own inventory bar UI, I had to program tools to detect when Roblox returned them to the backpack and fire a RemoteEvent to re-equip themselves. Soon (whenever this goes live), I’ll no longer need to use this hackish workaround.

What do the backslashes mean? I know that this is one of those “variable type definition” that developers can add after creating a variable like this:

local example : number = 1
local array : {string} = { "hello", "world" }

…and I know that you can use a vertical pipe (|) to indicate that a variable may be one of multiple possible types, and a question mark means that it may or may not be nil, but what do the backslashes indicate?


PerAxis and the backspace change for tools are both incredible, thank you so much!!

1 Like

You can ignore the slashes, it is just a bug with release note generation where {} ended up with ‘escape sequences’ like \n \t etc.


It makes me happy to see this, knowing I helped figure this one out some time ago!


Really sad, two release notes today and they still didn’t fix the major bug causing a lot of games that rely on animation events to break. There is no provided workaround for the time being until it is fixed either.


I cant wait for this to come out I have been waiting for ages as force equipping lags low performance devices and it’s even more confusing for switching tools…

What exactly can we do with this? Will we finally be able to use keycode without worrying people having other sorts of keyboard layouts as AZERTY?

1 Like

Do the VR camera adjustments apply to the core scripts only, or does this affect our scripts too? I have prototypes that rely on the ability to rotate the camera such that the horizon is intentionally not level.

I understand that keeping the horizon level is generally a good practice to follow so that people don’t get motion sick, but if this is a safety measure being implemented at the engine level, then I would prefer that games have an ability to bypass it as a way of indicating that we promise we know what we’re doing - some kind of checkbox or enum, perhaps.


KeyCode is just an example, nothing is changed with keyboard input handling. There was just a minor bug with editing enum attributes when they had a very long value list and KeyCode was the most obviously impacted.


My gosh, finally. No more for _, desc: Instance in a:GetDescendants()

Wait so does this allow for AlignPositions to only apply force on specific axes? Documentation for Enum.ForceLimitMode is missing so I can’t check rn

I don’t have much else to say that would affect me but yeah all-in-all a decent update :+1:


As others have already mentioned here, I am super happy that backspace can now be ignored when using tool instances - it was worth making some noise about that when tools were last updated!

Creating a custom tool system is pretty hard. Tool instances already provide a great wealth of API and internal code to make them work, as well as how tied they are to the engine, but this one thing made me move towards putting the effort to build those custom systems instead. It felt absurd to build an entire system just to void out a single behaviour.

It’s also nice that the change can be made naturally so it’s not disruptive to experiences that still wish to retain that behaviour and works better for other experiences that otherwise create custom backpacks but want the benefits of the Tool instance. Much appreciated for that one.

Final thing is a thank you for removing the deprecation off of DevEnableMouseLock and EnableMouseLockOption. Someone did a really good in-depth analysis in a previous announcement thread as to why the proposed alternatives were inadequate.


YES. Thank you so much, this helps so much. Now I don’t have to loop through a table to get the descendants!

This is also great.

1 Like

I’m not sure what was changed, either. I visited my baseplate yesterday with Nexus VR Character Model and I was able to tilt my head and look up and down. I don’t think that module has been updated in a while (sadly) but yet it still works.

I noticed there’s a new property on the Camera instance that must supposedly enable rolling and pitch on VR cameras, but again, I assume that property was the default, false, when I was testing.

Ok so, at first I was excited until I noticed how the following feature works:

I thought we would be able to set an Unit Vector which would serve as a multiplier to the current MaxVelocity property, where the default would be, 1, 1).

This feature works exactly like the old BodyPosition and to this day I still don’t know how to control these huge numbers to maintain a PROPER LINEAR VELOCITY.

If I am missing something here, please let me know; else let me know how I can maintain a linear velocity since I don’t want my objects to move as fast as possible to the goal and then slow down to reach it.