So, basically i want the ClientStructure to move from stud to stud, but idk how. Here is the code if someone can tell me how i will be greatfull.

local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local UIS = game:GetService('UserInputService')
local RunService = game:GetService('RunService')
local placing = false
local yOrientation = 5



script.Parent.MouseButton1Click:Connect(function()
	if placing == false then
		placing = true
		local clientStructure = game.ReplicatedStorage.Structures.Wall:Clone()
		clientStructure.Material = 'Neon'
		clientStructure.BrickColor = BrickColor.new('Forest green')
		clientStructure.Parent = game.Workspace
		
		
		RunService.RenderStepped:connect(function()
			local mouseRay = mouse.UnitRay
			local myRay = Ray.new(mouseRay.Origin, mouseRay.Direction * 1000)
			local ignoreList = {game.Players.LocalPlayer.Character, clientStructure}
			local hit, pos = game.Workspace:FindPartOnRayWithIgnoreList(myRay, ignoreList)
			if hit then
				local newAnglesCFrame = CFrame.Angles(0,math.rad(yOrientation), 0)
				local newCFrame = CFrame.new(pos.X, pos.Y + 2, pos.Z)
				clientStructure.CFrame = newCFrame * newAnglesCFrame
				
				
			end
		end)
		
		UIS.InputBegan:Connect(function(input, isTyping)
			if isTyping then return end
			if input.UserInputType == Enum.UserInputType.MouseButton1 then
				local clientStructureCFrame = clientStructure.CFrame
				game.ReplicatedStorage.PlaceStructure:FireServer(clientStructureCFrame)
			end
		end)
		
		UIS.InputBegan:Connect(function(input, isTyping)
			if isTyping then return end
			if input.KeyCode == Enum.KeyCode.R then
				yOrientation = yOrientation + 5
			end
		end)
		
		
		
		
		
		
		
	end
end)