Virtual reality can broaden the types of interaction between students and computer tutors. As in conventional simulation-based training, the computer can watch students practice tasks, responding to questions and offering advice. However, immersive virtual environments also allow the computer tutor to physically inhabit the virtual world with the student. Such a "pedagogical agent" can physically collaborate with the student on tasks and employ the sorts of nonverbal communication used by human tutors. This paper describes Steve, a pedagogical agent for virtual environments that helps students learn procedural tasks. Steve inhabits the virtual world with students, and he collaborates with them on tasks by gracefully shifting between demonstrating the task and providing assistance while the student performs the task. The paper also describes the subtle ways in which such a pedagogical agent can interact with students through nonverbal communication to achieve more human-like collaboration.