Show Deprecated
A default rig wearing a very dapper Shirt (rbxassetid://86896487) The **Shirt** object displays a Shirt texture from the Roblox website on a `Class.Humanoid` rig. Shirts cover the torso and arms, and will take priority over a `Class.Pants` on the torso. To be visible, a Shirt must be a sibling of a Humanoid and have its `Class.Shirt.ShirtTemplate|ShirtTemplate` property set to an appropriate texture (such as `rbxassetid://86896487`, pictured to the right). The shirt texture may be colorized using the `Class.Clothing.Color3` property.

Shirts are automatically loaded on Player characters if their avatar is wearing one.

See also:

  • Pants, an object which works similarly with the torso and legs

Code Samples

Change Shirt / Pants

1local Players = game:GetService("Players")
3local function replaceClothes(player)
4 local character = player.Character
5 if character then
6 -- look for shirts / pants
7 local shirt = character:FindFirstChildOfClass("Shirt")
8 local pants = character:FindFirstChildOfClass("Pants")
9 -- create shirts / pants if they don't exist
10 if not shirt then
11 shirt ="Shirt")
12 shirt.Parent = character
13 end
14 if not pants then
15 pants ="Pants")
16 pants.Parent = character
17 end
18 -- reset shirt / pants content ids
19 shirt.ShirtTemplate = ""
20 pants.PantsTemplate = ""
21 end
24for _index, player in ipairs(Players:GetPlayers()) do
25 replaceClothes(player)



Determines the texture of the Shirt. The content ID link pointing to the shirt template hosted on the Roblox website.





The content ID link pointing to the shirt template hosted on the Roblox website. Determines the texture of the Shirt.

See also ShirtGraphic.Graphic for the image applied to T-shirts.

Finding the ShirtTemplate ID

This content ID is different than the website URL of the shirt. It can be found by pasting the website URL of the shirt into the ShirtTemplate property in Studio, as Studio will correct it. Alternatively InsertService:LoadAsset() can be used to insert the shirt into the workspace, for example:

1local webURL = ""
2local assetId = tonumber(string.match(webURL, "%d+") or 0) -- Extract the number
3local success, model = pcall(function()
4 return game:GetService("InsertService"):LoadAsset(assetId)
6if success then
7 model.Parent = workspace