net.ReadEntity returns null



if SERVER then
	function GM:PlayerInitialSpawn(ply)
		if IsValid(ply) then
			net.Start("test")
			net.WriteEntity(ply)
	                print(ply) -- prints Player [1][Nobody]
			net.Broadcast()
		end
	end
else
	net.Receive("test",function()
		local ply = net.ReadEntity()
		print(ply) -- prints [NULL Entity]
	end)
end

Thanks in advance~

Either the player isn’t initialised on the client yet, or it’s not in the player’s PVS.