CARLA Documentation
CARLA is an open-source simulator for autonomous driving research and development. It renders cities, highways and rural roads on Unreal Engine 5.8, with vehicles, pedestrians, traffic lights and weather, and gives you full control of them from Python or C++. Mount cameras, lidars, radars and other sensors on a vehicle and get their data together with the ground truth; populate the world with traffic; script the situations you want to test; and connect a complete autonomous driving stack in closed loop.
CARLA is used to train and validate perception models, to generate labelled datasets, to test planning and control, and to evaluate full driving stacks in scenarios that would be dangerous or impossible to stage on a real road. It is free, open source and backed by a large community. If you want to know more before installing anything, read the Introduction.
Just want to run CARLA? Download the CARLA 1.0 package for Linux or Windows, or pull the Docker image, and start it with the quick start. Nothing to build.
Agentic CARLA
Most of what these pages describe can be done by an AI coding assistant: installing and building CARLA, running servers, spawning traffic and sensors, importing maps and vehicles, and writing and running scenarios. Look for boxes like this one, with the prompt to give your assistant and the skills it follows. Set up Agentic CARLA.
Where to start:
- Install CARLA: follow the Quick start with the CARLA binary to run a CARLA release, or build CARLA from source to work with the Unreal Engine editor.
- Start using CARLA: the First steps tutorial shows how to create a simulation, and Foundations introduces the most important concepts.
- Check the API: the Python API reference lists every class and method.
CARLA's GitHub Discussions are the place to ask questions and connect with other users.
Getting started
- Introduction: What to expect from CARLA.
- Quick start with the CARLA binary: Download a CARLA release and run it.
- Download: Releases, nightly builds and Docker images.
- First steps: Taking the first steps in CARLA with the Python API.
- Building CARLA: How to build CARLA from source on Linux and Windows.
Agentic CARLA
- Agentic CARLA skills: Let your AI coding assistant install, build, run and drive CARLA for you, following 63 procedures tested by the CARLA team, and how to connect it.
CARLA topics
- Foundations: The world and the client, coordinate conventions, actors and blueprints, maps and navigation.
- Sensor simulation: The renderers available, from Unreal Engine to NVIDIA NuRec and Cosmos, and the sensors that read the simulation.
- Scenarios: Traffic Manager, ScenarioRunner, Scenic, Inverted AI and the CARLA Leaderboard.
- AV stacks: Complete autonomous driving stacks in closed loop: Autoware and NVIDIA Alpamayo 2 Super.
Tutorials
- Tutorials: Tutorials covering CARLA's functionality.
- C++ tutorial: The C++ client workflow, batch commands, snapshots and replay.
Content authoring
- Custom assets: Bring your own props, vehicles and materials into CARLA.
- Vehicles: Prepare a vehicle, from the model to the blueprint.
- Content packs: Ship maps, props and vehicles as a package of their own.
Resources
- Python API: Classes and methods in the Python API.
- C++ reference: Classes and methods in CARLA C++.
- Sensors reference: Every sensor, its attributes and its output.
- Blueprint library: Every blueprint that can be spawned.
- Catalogue: CARLA's maps, vehicles, pedestrians and props.
CARLA ecosystem
- RoadRunner: MathWorks' editor for the road network of a map.
- NVIDIA: Neural reconstruction (NuRec), Cosmos and DLSS.
- ROS 2: The native ROS 2 interface.
Contributing to CARLA
- Guidelines: How to contribute to CARLA and its ecosystem.
- Code of conduct: The standards of behaviour in the CARLA community.
- Coding standard: The coding conventions CARLA follows.
- Documentation standard: How these pages are written.
- Development: Add sensors and semantic tags, update the content, run the tests and make a release.