Character Manager script, profile not loading when the character is added?

I want to make sure the body Colors Load in properly
it works when I reset but i want it to work as soon as the player joins in

Script in starter character scripts

repeat task.wait() until game:IsLoaded()
local Players = game:GetService("Players")
local SSS = game:GetService("ServerScriptService")



local DH = require(SSS:WaitForChild("Data").DataHandler.DataManager)
local RaceData = require(script.RaceData)


local LocalPlayer: Player = Players:GetPlayerFromCharacter(script.Parent)
local Character = script.Parent
local Hum: Humanoid = Character.Humanoid


local Profile = DH:GetPlayerData(LocalPlayer)
if not Profile then return end

local function LoadRaceApperance()
	local BC: BodyColors = Character:WaitForChild("Body Colors")
	BC.HeadColor = RaceData[Profile.Race]["SkinTone"]
	BC.LeftArmColor = RaceData[Profile.Race]["SkinTone"]
	BC.LeftLegColor = RaceData[Profile.Race]["SkinTone"]
	BC.RightArmColor = RaceData[Profile.Race]["SkinTone"]
	BC.RightLegColor = RaceData[Profile.Race]["SkinTone"]
	BC.TorsoColor = RaceData[Profile.Race]["SkinTone"]
end

if Profile.Race == "Goblin" then
	LoadRaceApperance()
end