Changing the viewpoint is one of the basic interaction tasks in virtual environments (VEs). In traditional desktop setups the viewpoint is moved gradually by mouse, keyboard or joystick input. Using the same technique in immersive setups, where nearly the complete field of view is stimulated by the VE, is likely to cause motion sickness on users because of a conflict between their visual and vestibular senses. Ideally the user would physically walk around in the VE but this is limited to the tracking space of the setup. So in this paper I survey virtual locomotion techniques for immersive VEs proposed in the literature. Since there is a large variety of immersive VE setups I narrow the scope down to locomotion techniques for setups using only an Head Mounted Display and motion controllers since these have recently become broadly available consumer hardware. To compare the different techniques, I classify the locomotion techniques into a taxonomy and point out quality criteria. In the end I conclude with a recommendation of locomotion techniques for exemplary applications.