Tool.Equipped does not work on custom characters. HopperBins do

Tools do not support custom avatars. I have a very simple tool that creates itself and prints “Equipped” when you equip it.

local player = game.Players.LocalPlayer

local t = Instance.new("Tool")
t.RequiresHandle = false

t.Equipped:connect(function()
	print("Equip")
end)

t.Parent = player.Backpack

Here is the result with a basic avatar:


Outputs successfully when equipping.

With the custom avatar, nothing prints:

Here is the structure of my custom avatar:
image

It looks like other developers have run into this issue, and the current solution is to disable Roblox’s tool system and spend time developing your own. This is absolutely a bug because “RequiresHandle” is false however the tool is still not working. This is likely because it relies on legacy behavior looking for a “RightHand” or “RightArm” which our rig does not have.

EDIT: It looks like HopperBins (deprecated 4 - 5 years ago?) still work perfectly. We’ll be switching to these instead.

4 Likes

All of those names on your custom character is different from a normal character.

image

So that’s probably what’s causing the confusion between normal character and custom character.

Correct, which is why I made this bug report and mentioned this in the last paragraph.

 This is absolutely a bug because “RequiresHandle” is false however the tool is still not working. This is likely because it relies on legacy behavior looking for a “RightHand” or “RightArm” which our rig does not have.

Is your custom character R6? R6 characters require a Right Arm rigged to from the Torso. The Motor6D must be under Torso, and must be called Right Shoulder.

Definitely do agree that this is a bug; any and all instances where Humanoids require any body part or rig joint be named and placed specifically is undesirable behavior and should be considered a bug.

1 Like

I will say a it’s a bit odd that a deprecated class works but a actively updated class doesn’t lol. Must be a bug if the deprecated class works.

5 Likes

Strangely enough I decided to start experimenting with tools today and I’m sort of experiencing the same issue as @AbstractAlex Except its like Tools don’t work at all when working with Custom StarterCharacter

– my rigs setup
image

To add on to it my rig contains all default R6 parts.

Tool Info

Just checked - yes it appears to be set to R6.

I tried setting it to R15 but that seemed to break things further, and also didn’t solve the tool Equipping event :confused:

If you need tools to work, you will need to follow the strict naming and placement conventions I mentioned. R15 has it’s own conventions I think.

R15 has its own fun set of issues, such as the whole character scooting uncontrollably if the rootpart touches the floor… I use R6 for my custom characters because of nonsense like this. It’s easier to deal with the precise named parts. If nothing else works, a common trick that I do when possible is to have necessary parts such as the Right Arm small and invisible. Tool handle would have to be attached manually, but everything else would work fine. I also do this in cases where Torso, Head, etc. apply an undesirable material / bevel effect to parts; I just make them invisible and have them be their own isolated “sub-rig” within the character.

1 Like

That’s what I did, I have my rig attached to the main body parts.
The only thing that’s different is the HumnaoidRootPart is where all my bones are parented.

The tool only worked with the default character but once I put my starter character in it didn’t work.

And it didn’t work at all with it.

As I said, you require a Motor6D / bone / other joint under Torso linked directly to Right Arm.

1 Like

Motor6D doesn’t work for me, It just positions the body parts inside the torso instead of its original location.


That’s why I had resorted to Weld Constraints to begin with.

Edit - I remembered I had a weld plugin that supports Motor6D so I tried that and I got tools functional :slight_smile:

1 Like

Thanks for the report! We’ve filed a ticket to our internal database and we’ll follow up when we have an update for you.

1 Like