How can I access a datastore on the client?

if you store things like Udim2 or Color3, you could create a function to conver that to string. As a matter of fact, i am currently working on a game that requires saving data which includes Udim2 and Color3 which unfortunately cannot be stored by datastore so i created encoding and decoding functions for them.

this is one of my encoding and decoding functions:

module.ConvertToNum = function(val)
	if typeof(val) == "string" then
		return tonumber(val)
	end
	
	local return_tab = {}
	for i,v in ipairs(val) do
		return_tab[i] = tonumber(v)
	end
	return return_tab
	
end




module.EncodeColor = function(color)
	
	local tab = {red = (color.R * 255), green = (color.G * 255), blue = (color.B * 255) }
	return tab["red"]..",".. tab["green"]..",".. tab["blue"]
end




module.DecodeColor = function(color)
	
	
	local tab = module.ConvertToNum(string.split(color, ","))
	
	return Color3.fromRGB(tab[1] , tab[2], tab[3] )
end



this probably wont work for ur case but it gives a basic idea of encode data and things like that into other format like table and string.