Hello, I believe this system is buggy because it uses camera and not mouse, but I am not sure how to make the grid revolve around the player if I were to use the player's mouse instead of the camera. Here is a placement script from the roblox battle royale:

local PlacementCFrame = CFrame.new(
				Camera.CFrame.Position + Camera.CFrame.LookVector.Unit * DistanceFromCamera,
				Camera.CFrame.Position + Camera.CFrame.LookVector.Unit * 2 * DistanceFromCamera
			);

Then I snap it to a grid and do rotation stuff depending on where the player is looking, Basically, I am not sure how to make it so I can use Mouse instead of Camera but still have the maximum range aka around the player. I tried using .Unit * 30 for a mouse raycast, but when I was to point it to the sky the blueprint would still not move. If you need more code I can edit, thanks