DataStore2 and GUI sometimes not connecting

Hello! I am having some trouble with my datastore and my gui where sometimes it doesn’t display the correct number of my coins (Sometimes it displays 0)

I checked my data with data editor and it does have data but sometimes the gui doesn’t want display the data upon joining

is there any way I can make it so every time I join the game it makes it load into the gui?

Can you give your code so we can know how you have scripted it up?

--This event comes from a local script that waits till the players game loads
game.ReplicatedStorage.DevTools.Events.PlayerData.OnServerEvent:Connect(function(plr)
	local Level = DataStore2("Coins",plr)
	Coins(DefaultData.DefaultLevel) -
	print("Got Player Coins")
end)

game.Players.PlayerAdded:Connect(function(plr)
	local function UpdateCoins(amount)
		ReplicatedStorage.COINS.C:FireClient(plr, amount)
	end

	local Coins = DataStore2("Coins",plr)
	UpdateCoins(Coins:Get(DefaultData.DefaultCoins))

	Coins:OnUpdate(UpdateCoins)	
end)