Physics Bug With Tools

Hi I’m having this weird physic’s bug with my movement script that is caused when a player enables a tool that requires a handle. When the player slides on the ground them jump to cancel it the character kind of halts in place as if something were blocking them.

I do use ray casting to detect walls while sliding but it excludes the character model and all of its descendants.

I have tried the various settings on the handle none of which have worked:

  • Turning can collide to false on handle
  • Turning can query to false on handle
  • Turning can touch to false on handle
  • Setting handle Collision group to a separate category
  • Setting handle massless to true
  • Setting handle custom physics to 0 or close to 0

None of the above mentioned have seemed to solve the problem so here I am asking the forum for some help. This is what the bug looks like:

There is no issues when the tool isn’t enabled so I’m wondering if there is a property or something that I’m missing, in either my ray casting or the tool itself.

Id also like to note that all of my movement mechanics such as sliding and dodging are using linear velocity, what it is supposed to look like:

1 Like

I would recommend taking the handle out of the equation; using align positions and orientations. If you just have an attachment in the player’s hand that the part(Ensure it isn’t named handle) is pulled to, the uncollidable part shouldn’t affect the physics of the character. Make sure you don’t have ReactionForceEnabled set to true. Good luck!

1 Like

Hey, i will give this method a try! But I’m worried that there is a fundamental problem that I am missing, especially because I am planning to start making weapons such as swords that typically would require a handle.

1 Like

I’m not sure if this will fix it but i’d just Motor6D’s or welds to hold onto a handle/basepart when using .Equipped and remove it when .Unequipped is called, i’ve used this method for a long time and i’ve had no issues with it and actually prefer it because of the annoying idle animation when holding a tool with a handle.

1 Like

This might be a possible solution I ask how you would set up the tool?, and are you cloning the part then welding it?

1 Like

It’s purely preference when it comes to the organization and how your tools are handled but if i’m lazy ill just create a server script inside the tool.

image

local Tool = script.Parent
local Character
local Handle


Tool.Equipped:Connect(function()
	Character = Tool.Parent
	Handle = game.ReplicatedStorage.HandlePart:Clone()
	Handle.Parent = Tool
	local Weld = Instance.new("Weld")
	Weld.Parent = Handle
	Weld.Part0 = Handle
	Weld.Part1 = Character.RightHand
	Weld.C0*=CFrame.new(0,1,0)
end)

Tool.Unequipped:Connect(function()
	if Handle then Handle:Destroy() end
end)

END RESULT:

Thanks so much I tried this method and it seems to be working without the weird physics bug