Is there a way to animate a tool?

Alright so im trying to make a gun that is animated (the tool itself) To make the slide move and the mag go with the hand while reloading

Does anyone knows how to make that?

For guns specifically, I’ve seen some people do it with a long, long series of tweens to the players hands/arms.

Would this post be of help to you?

Eidt: Wrong one, hang on

Edit 2: This


Cant tween unanchored parts so nope

You could use a weld to weld the gun handle to the hand and use tweens to cock the top half of the gun back, you could use weld for the mag to the hand

Cannot make a rig for each gun as u can drop them and do more

I know it’s possible because ACS uses it, it’s an open source script on toolbox. Just make sure you get the real thing and not a virus.

problem is you cannot tween unanchored parts, i mean you can but its not supposed to be used like this

Why would it be unanchored? I don’t understand

its a tool that the character holds , its not anchored duh

local ts = game:GetService('TweenService')
local module = {

--//Client Animations
		IdleAnim = function(char, speed, objs)
			ts:Create(objs[2],,{C1 = require(script.Parent.Settings).RightPos}):Play() -- require(script).FakeRightPos (For fake arms) | require(script).RightArmPos (For real arms)
			ts:Create(objs[3],,{C1 = require(script.Parent.Settings).LeftPos}):Play() -- require(script).FakeLeftPos (For fake arms) | require(script).LeftArmPos (For real arms)	
		StanceDown = function(char, speed, objs)
			ts:Create(objs[2],,{C1 =, -0.2, -1.25) * CFrame.Angles(math.rad(-60), math.rad(0), math.rad(0))}):Play()
			ts:Create(objs[3],,{C1 =,-0.05,-1.65) * CFrame.Angles(math.rad(-90),math.rad(35),math.rad(-25))}):Play()

A quick snippit of what I’m talking about.
(NOT MY SCRIPT, this is part of ACS which is open source and free on toolbox, just using it as an example).

its a tooooooool not a viewport or teleportation based gun engine and tweening looks bad if you dont pass a week for a single anim (Acs is kinda, eh)

Well if you’ve already managed to move the arms then I would suggest swapping the gun model to a chambering position then back to chambered. Put two models in replicated storage, one with the gun as normal and another with the gun slide back. Time it so they swap, you get the idea.

unoptimised and thats not an animation , it just pops the chamber in place like its teleporting which looks bad

Well if you don’t want that then my only suggestion would be to use an invisible tool with a separate model welded to the player’s hand that only appears when the tool is equipped, then you can anchor the second fake gun and sync it up with the invisible tool.

No idea if that would work, every other game I’ve seen just uses the teleport method.

guess ill redo my gun engine to fit with that then as its the best solution

1 Like

once again it just teleports so no ill just redo my rigging with a complete gun engine