Welding Models to the Back of a Character

Hello everyone!

My goal is to weld a model to the back of a player’s character object. I’m not very experienced in welding, so my attempts to do so have not worked. I’ve created some wings using transparent parts and decals. I added a small part (handle) in between the wings and welded the the wings to that part. I then added an attachment to the handle and put the part into an Accessory object. When adding the accessory object to the character, the wings don’t attach to the back of the character. They just fall on the ground.

Any suggestions of how to fix this?

3 Likes

Have you named the handle part Handle, with a capital H? Have you named the attachment in the accessory the same name as the attachment in the character rig you’d like it to attach to?

1 Like

Are you welding objects through code or with studio’s constraint plugin ?

1 Like

Using the constraint plugin.

Yes, the handle is capitalized.

Is the weld constraint enabled?

This is important:

Please also ensure you have not broken any welds while moving things around, or have not disabled any of them.

Wrong reply target nice job mobile.

I’ve sort of fixed the problem!

I’ve made a StarterCharacter and put the accessory into that character and the accessory successfully parents to the character.

The new problem is how I can add the accessory without using the StarterCharacter (in other words, to the player’s actual character)

Oh, are you parenting the accessory on the client? The accessory weld is only created if the server is the one attaching the accessory.

Ohhhhhh.

Thanks for heads up. So, I should make a server script that attaches the accessory when the character is added?

Yes, a server script will need to add the accessory.

Thanks!

To support @qqtt991’s reply, here’s some code that should attach a part to a player.

local Players = game:GetService("Players")
local function OnPlayerAdded(Client)
 local Part = Instance.new("Part")
 local Weld = Instance.new("WeldConstraint")
 if Client.Character then
  wait(0.5)
  Part.Position = Client.Character.UpperTorso.Position
  Part.Orientation = Client.Character.UpperTorso.Orientation
  Weld.Parent = Client.Character
  Part.Parent = game.Workspace
  Weld.Part0 = Client.Character.UpperTorso
  Weld.Part1 = Part
 else
  Client.CharacterAdded:Connect(function()
   wait(0.5)
   Part.Position = Client.Character.UpperTorso.Position
   Part.Orientation = Client.Character.UpperTorso.Orientation
   Weld.Parent = Client.Character
   Part.Parent = game.Workspace
   Weld.Part0 = Client.Character.UpperTorso
   Weld.Part1 = Part
  end)
 end
end

Players.PlayerAdded:Connect(OnPlayerAdded)

(Paste in a ServerScript in ServerScriptService)

8 Likes

Thanks for the code!

Welding models to characters and utilising accessory objects to add accessories to a player are two fairly different topics. Depending on your use case, one may be better than the other.

Personally, if the player is going to wear something like a hat, I’d opt to use accessories. However if what needs to be added a functional or “stapled” extension such as a sheathe or prop, I’d opt to weld it.

1 Like