This paper gives an overview of the Jacob project. This project involves the construction of a 3D virtual environment where an animated human-like agent called Jacob gives instruction to the user. The project investigates virtual reality techniques and focuses on three issues: the software engineering aspects of building a virtual reality system, the integration of natural language interaction and other interaction modalities, and the use of agent technology. The Jacob agent complies with the H-Anim standard. It has been given a task model and an instruction model in order to teach the user a particular task. The results of the project can be generalised so that the agent can be used to instruct other tasks in other virtual environments. One of the applications we foresee is the use of a navigation agent which advises the user in a VR environment or, using a PDA-like device, about a real environment, thatcan be perceived in reality and in a matching virtual reality.