On January 9th 2017 we will be removing ability to drop hats in games using the ‘=’ key by default. If developers still want to make this feature available in their games they will be able to do so using the script provided below.
The reasoning behind this change is that hat dropping is a legacy feature that most games don’t use and therefore should not be available by default. Hat dropping is a feature only available to desktop users and can create problems in games which do not clean up dropped hats. Also, with the introduction of accessories players are now able to bring ten accessories into game, this can create many more items littered on the ground for games that don’t have hat cleanup scripts.
If you feel that hat dropping is a feature that works well in your game then you can put the following LocalScript in the PlayerScripts folder. This will preserve the old hat dropping behavior.
local function dropHats()
local localPlayer = game:GetService("Players").LocalPlayer
if localPlayer and localPlayer.Character then
for _, obj in pairs(localPlayer.Character:GetChildren()) do
if obj:IsA("Accoutrement") then
obj.Parent = game.Workspace
end
end
end
end
game:GetService("UserInputService").InputBegan:connect(function(inputObject, gameProcessedEvent)
if not gameProcessedEvent then
if inputObject.KeyCode == Enum.KeyCode.Equals then
dropHats()
end
end
end)
Why do they automatically appear in front of the character in when you select the hats inside the character model in explorer and drag them into workspace? I figured this script would cause the hats to pile up on top of the character (putting one of them back on the character), but moving hats from a character into workspace seems to automatically offset their positions.
This is done by the engine when hats are moved from the character into Workspace. This behavior will remain the same after the removal of the shortcut as there are likely scripts which rely on it for removing players hats.
Not a fan of this change because it removes social features like sharing hats with players or figurines (but also gameplay mechanics like dropping hats to not touch lava or to not weigh as much whilst swordfighting) from certain classic places, I would’ve preferred this to be a SetCore (the documented, working kind) that’s automatically set based on when the place file was last edited. Being able to tell when a place was last edited is useful beyond preserving legacy behaviour, I’d put the cutoff point at 2012 as this is when roblox mobile was introduced which has no hat dropping functionality.
But I’m happy to not have to work around hats as much anymore (although they still affect physics, hit detection etc).
I really don’t think it should be removed. I still use it and I see people that use it as well. A lot of clans use it in sword fighting and even gun fighting so they can have a smaller hitbox.
Like what @Visleaf and @seliso said in their statements towards this update coming in 2017: It should be a SetCore as many war clans utilize this for Sword Fighting and Gun Fighting for a smaller hitbox. I agree with them.
This sounds similar to what’s going on with R15. Players want their character to look cool, but they have to wreck their appearance to have anything that’s gameplay-practical. Vanity items should not affect gameplay. Period. If hats didn’t affect hitboxes or physics (primarily jump height), there would be little need to take them off. Right now a lot of people still need to take them off for this reason, even if it pales in comparison to ROBLOX’s total playerbase, but with this change the number of people who needed to continue taking hats off would be insignificant.
I think @Polyhex has been a staunch promoter of this for both hats and R15, so he may have some valuable input as well.
Removing the hat removal key is a great change but if hat weight is left unchanged, it won’t go well.
Hats still affect the weight of players, changing jump height, how the characters move, etc. On top of this change, we need to look into updating all hats/accessory handles to have a CustomPhysicalProperties weight of 0.01.
Yes, this works with filtering enabled. When the parent of an Accoutrement is set to Workspace from the character the engine will handle replicating the hat dropping event. This won’t be changed for backwards compatibility reasons.
@lalisa_manoban
If clans are using the hat dropping feature in their games they can add the script to replicate the old functionality. I don’t think this should be a feature present in every game by default.
We are currently looking into how accessories effect physics, there will be changes to this coming soon. The solution to how accessories change character hitboxes is less clear, you can currently add all the accessories characters are wearing to an ignore list for your raycasts but this doesn’t seem like an elegant solution and a lot of games don’t do this. We should definitely look into a better solution for this.
I’ve never had any problems with hat dropping, and it’s fun to give NPCs hats. It wouldn’t hurt to just make a property in Workspace to turn off hat drops.
EDIT: Perhaps, you should make it so players can only drop their hats and not the rest of their accessories.
From my experience, it wasn’t really widely used except from group wars and stuff. Plus, you could only pick up one of them after you dropped them, so what’s the point in dropping them anyway.
And aside of this, we can just edit our avatars from the Character (now Avatar) page and I honestly don’t think it’s that hard to make a few clicks for them to disappear.