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.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:
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.
All of those names on your custom character is different from a normal character.
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.
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.
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
To add on to it my rig contains all default R6 parts.
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
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.
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.
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
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.