Hi If You could Help me or Give me Resources That Help I will Accept Your Answer

i have a Like minecraft GridSystem it works like this i made a struckter of many parts and made a grid sytem out of them and put them al into the Replicated Storage so then from a local script like this:

mouse.Button1Down:Connect(function()
	remoteevent:FireServer(mouse.Target)

i get when the user has clicked and of what the user has clicked then from a script Script:

remoteevent.OnServerEvent:Connect(function(plr,mousetarget)
	part=game.ReplicatedStorage.BlockLib.block:Clone()
	part.Parent=game.Workspace
	part.Size=Vector3.new(3.5,3.5,3.5)	
	part.CFrame=CFrame.new(mousetarget.Position)+Vector3.new(0,3.5,0)
end)

the problem with this is first for some reason the parts only spawn on top each other and the other is the grid takes a lot of parts to build and it might not wok for mobile devises so if you have any idea for a better solution please tell me or give me a resource Thank You.