I’ve come to a halt in progress from this, I’m all on client but if you apply a humanoid description then try to add an accessory via AddAccessory() it fails. It refuses to create an AccessoryWeld, but if you run AddAccessory() before the ApplyDescription then it works perfectly fine.
I simply cannot run AddAccessory() before ApplyDescription(), it messes up a lot of things in my code.
Humanoid:AddAccessory() and Humanoid:ApplyDescription() should ideally be ran through the server because you are changing the characters appearance globally to the server. I was able to fix your script by just changing it to a server-sided script