Utrecht University Crowd Simulation API
Utrecht University Crowd Simulation API - Main page

Table of Contents

The Utrecht University Crowd Simulation (UUCS) API provides an interface for path planning and crowd simulation by using high-quality navigation meshes.

Angelos Kremyzas
Wouter van Toll


For an overview of our crowd simulation framework see the paper by van Toll et al. [vanToll2015]. The UUCS API has the following features:

Framework hierachy

Simulation hierarchy in our framework.

This framework consists of five different planning levels; see figure. The top two levels occur either at the beginning of the simulation or when specific conditions are met:

The next two simulation levels are repeated sequentially at each simulation step and determine the motion behavior of each character between two simulation steps:


Depending on the implemented methods and user input, the framework can return to Level 5 or 4 before repeating the simulation-step cycle.

Getting started

Obtaining the code

Contact Roland Geraerts to gain access to the API and the accompanying demo projects.


Before you can compile the code, you need to make sure you have the following components installed on your system:

Compiling the Code for Windows

At this point, the UUCS API is distributed as a DLL file. Therefore, it is only possible to develop applications on Windows using the current API version. We plan to support more platforms in future versions.

Compiling the ConsoleDemo

To compile the ConsoleDemo project:

Make sure the following settings are correct:

To run the demo:

Compiling the GUIDemo

To compile the GUIDemo project:

Make sure the following settings are correct:

To run the demo:

What's next?

Once you have obtained and compiled the code, the following pages (in order) will help you understand the API:

Note that these pages are still under construction.


The file UUCS.h defines the Utrecht Crowd Simulation (UUCS) API. Both the API and the accompanying demos have been documented using Doxygen; you are currently reading the main page.

An explanation is available for all public attributes and public functions of all classes, including those defined in the ConsoleDemo and GUIDemo projects.

Version history

The version history is shown below.

Licenses & usage policy

The UUCS API uses the following third party software:

The components of this project (including code, API binaries and environment files) may not be redistributed without permission from the author(s).


If you have any questions about our algorithms, the code, or the documentation, then feel free to contact one of the authors mentioned below.

Angelos Kremyzas (expertise: UUCS API and framework)
Wouter van Toll (expertise: UUCS framework)
Roland Geraerts (expertise: path planning research)
Yiran Zhao (yiran.nosp@m.@ucr.nosp@m.owds..nosp@m.com)
Utrecht University, Department of Information and Computing Sciences, Utrecht, The Netherlands