I made a custom animation for the flashlight, I used an idle to make the player hold the flashlight over their head, however, it also is a bit glitchy. Is there any way of fixing these bugs?
You need to provide a whole lot more context. Just seeing it happen isn’t enough to pitch any significant suggestions nor a precise reason why this is occurring. Please also try debugging this yourself by using the MicroProfiler and checking what happens during a spike.
I have the same problem, however I think that the cause of the problem is that the tool isn’t made out of mesh parts or unions, it’s made out of many many parts. So when the player equips it, a whole part group moves into the Character, same thing when unequipping.
Do you happen to have collisions enabled on all the parts? Having a large part count for tools typically should not cause you lag problems unless collisions are on for all the parts because then collision checking is being done against each individual part.