CARLA Documentation

Welcome to the CARLA documentation.

This page contains the index with a brief explanation on the different sections for clarity. Feel free to explore the documentation on your own, however, here are a few tips for newcomers:

  • Install CARLA: visit the Quickstart installation to get the CARLA releases or make the build for a desired platform.
  • Start using CARLA: there is a section titled First steps, highly recommended for newcomers.
  • Doubts on the API: there is a handy Python API reference to consult classes and methods.

Besides that, there is also the CARLA forum where the community gathers to share issues, suggestions and solutions:


This is documentation for CARLA 0.9.0 or later. Previous documentation is in the stable branch.

Getting started

Introduction — Capabilities and intentions behind the project.
Quickstart installation — Get the CARLA releases.

Building CARLA

Linux build — Make the build on Linux.
Windows build — Make the build on Windows.
Update CARLA — Get up to date with the latest content.
Build system — Learn about the build and how it is made.
Running in a Docker — Run CARLA using a container solution.
F.A.Q. — Some of the most frequent issues for newcomers.

First steps

Core concepts — Overview of the basic concepts in CARLA.
1st. World and client — Manage and access the simulation.
2nd. Actors and blueprints — Learn about actors and how to handle them.
3rd. Maps and navigation — Discover the different maps and how to move around.
4th. Sensors and data — Retrieve simulation data using sensors.

Advanced steps

Recorder — Store all the events in a simulation a play it again.
Rendering options — Different settings, from quality to no-render or off-screen runs.
Synchrony and time-step — Client-server communication and simulation time.
Traffic Manager — Feature to handle autopilot vehicles and emulate traffic.


Python API reference — Classes and methods in the Python API.
Code recipes — Code fragments commonly used.
Blueprint library — Blueprints provided to spawn actors.
C++ reference — Classes and methods in CARLA C++.
Recorder binary file format — Detailed explanation of the recorder file format.
Sensors reference — Everything about sensors and the data they retrieve.

ROS bridge

ROS bridge installation — How to install the ROS bridge's package or repository.
CARLA messages reference — Contains explanations and fields for every type of CARLA message available in ROS.
Launchfiles reference — Explains the launchfiles provided, its nodes, and the topics that are being consumed and published.

Tutorials — General

Add friction triggers — Define dynamic box triggers for wheels.
Control vehicle physics — Set runtime changes on a vehicle physics.
Control walker skeletons — Skeleton and animation for walkers explained.

Tutorials — Assets

Import new assets — Use personal assets in CARLA.
Map creation — Guidelines to create a new map.
Map customization — Edit an existing map.
Standalone asset packages — Import assets into Unreal Engine and prepare them for package distribution.
Use Epic's Automotive materials — Apply Epic's set of Automotive materials to vehicles for a more realistic painting.
Vehicle modelling
— Guidelines to create a new vehicle for CARLA.

Tutorials — Developers

Contribute with new assets — Add new content to CARLA.
Create a sensor — The basics on how to add a new sensor to CARLA.
Make a release — For developers who want to publish a release.
Generate pedestrian navigation — Generate the information needed for walkers to navigate a map.


Contribution guidelines — The different ways to contribute to CARLA.
Code of conduct — Some standards for CARLA, rights and duties for contributors.
Coding standard — Guidelines to write proper code.
Documentation standard — Guidelines to write proper documentation.