A method of navigating a Virtual Reality environment, the method comprising: providing the VR environment; receiving, from a user in the VR environment, inputs indicative of a user-drawn path drawn by the user in the VR environment, the user-drawn path originating at a position of the user and terminating at a terminal point in the VR environment, wherein receiving the inputs includes receiving pointer-location information indicative of a pointer location in the VR environment pointed to by the user along the user-drawn path; generating a plurality of waypoints along the user-drawn path, wherein generating the plurality of waypoints includes: generating a first waypoint of the plurality of waypoints responsive to determining that the pointer location is above a first threshold distance from a position of the user in the VR environment in real time as the user draws the user-drawn path in the VR environment, and generating a second waypoint of the plurality of waypoints responsive to determining that the pointer location is above a second threshold distance from the first waypoint in real time as the user draws the user-drawn path in the VR environment; moving the user to the first waypoint of the plurality of waypoints; pausing the user at the first waypoint; and moving, responsive to a criterion being met, the user to the second waypoint of the plurality of waypoints. providing the VR environment; receiving, from a user in the VR environment, inputs indicative of a user-drawn path drawn by the user in the VR environment, the user-drawn path originating at a position of the user and terminating at a terminal point in the VR environment, wherein receiving the inputs includes receiving pointer-location information indicative of a pointer location in the VR environment pointed to by the user along the user-drawn path; generating a plurality of waypoints along the user-drawn path, wherein generating the plurality of waypoints includes: generating a first waypoint of the plurality of waypoints responsive to determining that the pointer location is above a first threshold distance from a position of the user in the VR environment in real time as the user draws the user-drawn path in the VR environment, and generating a second waypoint of the plurality of waypoints responsive to determining that the pointer location is above a second threshold distance from the first waypoint in real time as the user draws the user-drawn path in the VR environment; generating a first waypoint of the plurality of waypoints responsive to determining that the pointer location is above a first threshold distance from a position of the user in the VR environment in real time as the user draws the user-drawn path in the VR environment, and generating a second waypoint of the plurality of waypoints responsive to determining that the pointer location is above a second threshold distance from the first waypoint in real time as the user draws the user-drawn path in the VR environment; moving the user to the first waypoint of the plurality of waypoints; pausing the user at the first waypoint; and moving, responsive to a criterion being met, the user to the second waypoint of the plurality of waypoints.