Thanks for this as people in my game can currently unequip tools in such way. (Hopefully this change doesn’t disrupt games that uses such feature though).
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.
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.
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?
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…
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.
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.