CARLA Documentation

Welcome to the CARLA documentation.

This home page contains an index with a brief description of the different sections in the documentation. Feel free to read in whatever order preferred. In any case, here are a few suggestions for newcomers.

The CARLA forum is available to post any doubts or suggestions that may arise during the reading.


Change the docs version to fit the CARLA version you are using. Use the panel in the bottom-right side of this window to change to previous versions. The Latest version points to documentation in the dev branch which may refer to features currently in development and not available in any packaged version of CARLA, as well general documentation improvements. docs_version_panel

Getting started

Introduction — What to expect from CARLA.
Quick start package 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.
CARLA in Docker — Run CARLA using a container solution.
F.A.Q. — Some of the most frequent installation issues.

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 do vehicles move around.
4th. Sensors and data — Retrieve simulation data using sensors.

Advanced concepts

OpenDRIVE standalone mode — Use any OpenDRIVE file as a CARLA map.
PTV-Vissim co-simulation — Run a synchronous simulation between CARLA and PTV-Vissim.
Recorder — Register the events in a simulation and play it again.
Rendering options — From quality settings to no-render or off-screen modes.
RSS — An implementation of RSS in the CARLA client library.
Synchrony and time-step — Client-server communication and simulation time.
Benchmarking Performance — Perform benchmarking using our prepared script.
CARLA Agents — Agents scripts allow single vehicles to roam the map or drive to a set destination.

Traffic Simulation

Traffic Simulation Overview — An overview of the different options available to populate your scenes with traffic
Traffic Manager — Simulate urban traffic by setting vehicles to autopilot mode.
SUMO co-simulation — Run a synchronous simulation between CARLA and SUMO.
Scenic — Follow an example of defining different scenarios using the Scenic library.


Python API reference — Classes and methods in the Python API.
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.


carlaviz — web visualizer — Plugin that listens the simulation and shows the scene and some simulation data in a web browser.

ROS bridge

ROS bridge documentation — Brief overview of the ROS bridge and a link to the full documentation

Custom Maps

Overview of custom maps in CARLA — An overview of the process and options involved in adding a custom, standard sized map
Create a map in RoadRunner — How to generate a customs, standard sized map in RoadRunner
Import map in CARLA package How to import a map in a CARLA package
Import map in CARLA source build — How to import a map in CARLA built from source
Alternative ways to import maps — Alternative methods to import maps
Manually prepare map package — How to prepare a map for manual import
Customizing maps: Layered maps — How to create sub-layers in your custom map
Customizing maps: Traffic lights and signs — How to add traffic lights and signs to your custom map
Customizing maps: Road painter — How to use the road painter tool to change the apearance of the road
Customizing Maps: Procedural Buildings — Populate your custom map with buildings
Customizing maps: Weather and landscape — Create the weather profile for your custom map and populate the landscape
Generate pedestrian navigation — Obtain the information needed for walkers to move around.

Large Maps

Large maps overview — An explanation of how large maps work in CARLA
Create a Large Map in RoadRunner — How to create a large map in RoadRunner
Import/Package a Large Map — How to import a large map

Tutorials — General

Add friction triggers — Define dynamic box triggers for wheels.
Control vehicle physics — Set runtime changes on a vehicle physics.
Control walker skeletons — Animate walkers using skeletons.
Generate maps with OpenStreetMap — Use OpenStreetMap to generate maps for use in simulations.
Retrieve simulation data — A step by step guide to properly gather data using the recorder.
CarSim Integration — Tutorial on how to run a simulation using the CarSim vehicle dynamics engine.
RLlib Integration — Find out how to run your own experiment using the RLlib library.
Chrono Integration — Use the Chrono integration to simulation physics
Build Unreal Engine and CARLA in Docker — Build Unreal Engine and CARLA in Docker

Tutorials — Assets

Add a new vehicle — Prepare a vehicle to be used in CARLA.
Add new props — Import additional props into CARLA.
Create standalone packages — Generate and handle standalone packages for assets.
Material customization — Edit vehicle and building materials.

Tutorials — Developers

How to upgrade content — Add new content to CARLA.
Create a sensor — Develop a new sensor to be used in CARLA.
Create semantic tags — Define customized tags for semantic segmentation.
Customize vehicle suspension — Modify the suspension system of a vehicle.
Generate detailed colliders — Create detailed colliders for vehicles.
Make a release — How to make a release of CARLA

CARLA Ecosystem

Ansys Real Time Radar Model — Details about the Ansys RTR Webinair


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