I am currently testing with CharacterAdded. I put a LocalScript in StarterCharacterScripts. The code reads:

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
print("run")

local function OnCharacterAdded(character)
	print("works")
end
 
Player.CharacterAdded:Connect(OnCharacterAdded)
 
local function OnPlayerAdded(player)
	OnCharacterAdded()
end

Players.PlayerAdded:Connect(OnPlayerAdded)

It appears that the CharacterAdded event doesn't fire.

1 comment

0

It doesn't fire because LocalScripts inside StarterCharacterScripts get replicated into the character as soon after the character is added, and you are making that event connection after it's been already added.

You might want to place that script inside StarterPlayerScripts instead, in that case it'll work.

Please, remember to accept the answer if is it helpful for you! I'm glad to help :)