Uniform UI script not working

I’m making a uniform UI for an army group and I’m struggling to get it to set the player’s uniform. As you can see in the script below, I’ve thought about using a RemoteEvent to fire from Local > Server, would that be better for this?

local Player = game.Players.LocalPlayer
--local Event = game.ReplicatedStorage:WaitForChild("ChangeUniform")
local Module = require(game.ReplicatedStorage:WaitForChild("UniformModule"))
local Character = Player.CharacterAdded:Wait()

script.Parent.MouseButton1Down:Connect(function()
	local success, err = pcall(function()
		Character:FindFirstChild("Shirt").ShirtTemplate = Module.Army["Class A"]["Staff Sergeant"]
		Character:FindFirstChild("Pants").PantsTemplate = Module.Army["Class A"]["Enlisted Pants"]
	end)
	
	if err then
		error(err)
	end
end)

Yes, use a remote event so the shirt is replicated across client/server boundary. I can’t really see if there is an issue with anything else though since you have the IDs in a module script.

Keep in mind, IDs for shirts & pants should look like this:

A Shirt:
http://www.roblox.com/asset/?id=9451958701
Pants:
http://www.roblox.com/asset/?id=7022487736

They’re just stored as integers in the module script, I tried putting “rbxassetid://”… before where I assign the ID, but that didn’t change.

-- LocalScript
local Event = game.ReplicatedStorage:WaitForChild("ChangeUniform")

script.Parent.MouseButton1Down:Connect(function()
	Event:FireServer()
end)
-- Script
local Event = game.ReplicatedStorage:FindFirstChild("ChangeUniform")
local Module = require(game.ReplicatedStorage:WaitForChild("UniformModule"))

Event.OnServerEvent:Connect(function(player)
	local Character = player.Character
	
	local success, err = pcall(function()
		Character:FindFirstChild("Shirt").ShirtTemplate = Module.Army["Class A"]["Staff Sergeant"]
		Character:FindFirstChild("Pants").PantsTemplate = Module.Army["Class A"]["Enlisted Pants"]
	end)

	if err then
		error(err)
	end
end)

Create a shirt instance into the workspace and for all integers put the asset ID into the shirt template property and then replace INT values to STRING values and copy and paste the outcome from the shirt template into the string value.

The pants work, but not the shirt? I’ve done the exact same thing for both. I’m sure both are uploaded correctly to Roblox.

		Character:FindFirstChild("Shirt").ShirtTemplate = "rbxassetid://"..tostring(Module.Army["Class A"]["Staff Sergeant"])
		Character:FindFirstChild("Pants").PantsTemplate = "rbxassetid://"..tostring(Module.Army["Class A"]["Enlisted Pants"])

I’ve just done a tostring() on both IDs.
image