also normally for me instead of having to do the lazy and effortful creation and adjustment of a Motor6D which the rig’s right arm has which is connected to the handle to serve as an substitute i’d create a pre-planned pseudo handle
if you don’t know what that meant i’d create an invisible handle instead of the visible handle (sword like) being the only primary handle, the thing is if a Motor6D’s oldest ancestor is disconnected, the rest of the other ancestors and its descendants still function perfectly
if you still don’t get what i mean i’ll show some picture
the picture above is my own self-insert rig that shows the hierarchy of all connected outside motor6ds, if you noticed the right arm is connected to “Handle” which is the invisible 1-sized block that’s being highlighted by the blue screenbox, the handle2 is the sword mesh itself which is connected by “Handle”, now what i meant by motor6ds still functioning even if it’s ancestor is gone is that Handle shouldn’t even be animated at all in any animation editor and only the “Handle2” which is the handle’s motor6d, the reason why you shouldn’t animate “Handle” at all is because that is the motor6d in the right arm, if you turn this into a player tool the player doesn’t have a motor6d connected to the Handle itself but the handle’s motor6d connected to the handle2 doesn’t disappear which can prefix things
also, when editing the tool’s hold offsets, i suggest using clonetrooper’s tool editor plugin and it doesn’t affect anything if you change the Handle’s tool offset, heres the game where i used this method with the animation functioning perfectly with no qualms
Everything stated here may be true for you, but doing it this way is not necessarily “lazy”. It adds the basic functionality Roblox should have provided since the very beginning with animating tools, and it was never supposed to be super advanced anyways.
I appreciate the message though for anyone willing to try it, but it’s out of the scope of this resource since this is supposed to be user friendly
If you have a problem and need support, please Private Message me, not here.
I also need some replication files on how you got this result as this seems to be an error with the way you animated.
I believe I found your issue. It is quite possible that you enabled this because you were curious, or Roblox forced it on in a new update. I need you to switch this toggle, AnimationWeightedBlendFix, to Disabled under the Workspace service.
Some people have reported that it’s made animations behave weirdly, and I believe also encountering this when I turned the toggle on myself.
This will impact the experiences in which you use the Motor6DHandler script! Make sure you check over the way you’re handling Idle and Action animations, because the WeightedAnimationBlendFix will be forced on soon, and it’s best you use the brand new Priorities roblox has added to compensate for the issues that it brings!
Here’s the portion of the code that plays the animation, am I doing something wrong here?
Oh and, I also made it print out the priority. It prints out Enum.AnimationPriority.Action so I know that it’s using the right AnimationPriority.
local function LoadAnimation(id, priority)
local char = player.Character or player.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")
local animator = hum:WaitForChild("Animator")
repeat task.wait() until animator:IsDescendantOf(workspace)
local anim = Instance.new("Animation") do
anim.AnimationId = "rbxassetid://" .. id
local load = animator:LoadAnimation(anim) do
load.Priority = priority
local anim = LoadAnimation(animation.idle, Enum.AnimationPriority.Action)
anim.Looped = true
if inputConnection then
if anim then
-- OTHER CODE DOWN HERE
Here’s the screenshot for the welds inside the tool: