To do this, we have implemented snapping on surfaces familiar from traditional 3D software, when you can snap an object to the surface of another object and slide over it. This could be done in different ways in VR. With a focus on UI design, where there is often an interface plane, a canvas, an application window, we decided that it would be most useful not to constantly snap to the surface of an object, but to indicate a point on another object with the first click, as the basis for a certain temporary local coordinate system / plane and move the object already in this coordinate system.