Virtual reality applications, especially in entertainment and training, require environments populated with multiple interacting humans. Whether the virtual humans are controlled by real people or by computer programs, a large portion of their activity will involve locomotion. This paper presents VRLOCO, a “locomotion engine” designed to meet the locomotion requirements of virtual environments. First, VRLOCO is broadly capable; it includes five locomotion primitives—walking, running, lateral stepping, turning around, and backward stepping—and can blend smoothly between primitives during transitions. Second, locomotion control in VRLOCO is simple; controllers drive the locomotion by supplying streams of intuitive positional inputs—desired body center position and facing direction—over time. Finally, VRLOCO is responsive and efficient; it generates locomotion on-line, processing user- or program-generated control inputs and producing new frames at rates greater than 30 Hz. Technically, VRLOCO combines a method for generalizing prototypical locomotion data with algorithms for determining locomotion mode and blending between different modes. The effectiveness of the approach has been tested using several locomotion controllers—programs representing autonomous agents, interactive graphic user interfaces, and a VR input device consisting of a stationary bicycle equipped with optical encoders and a microcontroller.