CharacterAppearanceLoaded

	-- Handle LocalPlayer
	local Player = Players.LocalPlayer
	local InitialCharacter = Player.Character or Player.CharacterAdded:Wait()
	OutfitViewerController:OnOutfitChange(InitialCharacter:WaitForChild('Humanoid'):WaitForChild('HumanoidDescription'))

	InitialCharacter.DescendantAdded:Connect(function(Descendant)
		if Descendant:IsA('HumanoidDescription') then
			OutfitViewerController:OnOutfitChange(Descendant)
		end
	end)

	Player.CharacterAdded:Connect(function(Character)
		OutfitViewerController:OnOutfitChange(Character:WaitForChild('Humanoid'):WaitForChild('HumanoidDescription'))
		Character.DescendantAdded:Connect(function(Descendant)
			if Descendant:IsA('HumanoidDescription') then
				OutfitViewerController:OnOutfitChange(Descendant)
			end
		end)
	end)

Can anyone help me revamp this so it waits for CharacterAppearanceLoaded before allowing OnOutfitChange?

game.Players.PlayerAdded:Connect(function(plr)
   local char = plr.CharacterAppearenceLoaded:Wait()
end)