本文へ移動
cccskills
無料GitHub で公開

download-carla

Downloads CARLA so nothing has to be fetched by hand — an official release package for any published version (resolved live from the GitHub releases, with AdditionalMaps), the rolling nightly Dev build, a shallow source checkout of a branch or tag, or the carlasim/carla Docker image. Reports exactly what was obtained and where, plus the environment variables the other skills read. Use when the user asks to "download CARLA", "get CARLA 0.9.16", "install CARLA", "clone the carla repo", "fetch the latest CARLA", or has no CARLA at all yet.

インストール方法を見る

含まれるファイル(5)

  • SKILL.md9.7 KB
  • references/sources.md6.7 KB
  • scripts/check_env.sh4.0 KB
  • scripts/download_carla.py18.2 KB
  • scripts/env.sh1.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Download CARLA

Paths. scripts/… and references/… below are relative to the directory holding this SKILL.md. Your working directory is the user's project, not that directory, so prefix them with its absolute path or the command is not found.

The first link in the chain: get CARLA onto the machine and say precisely what landed where, so the skills that follow — [[install-python-api]], [[run-carla-server]], [[build-carla-ue4]] — need no guesswork from the user.

Four ways to obtain CARLA, and the choice is the only real decision:

ModeGives youReady to run?Size
releasean official package, extractedyes~8-10 GB (+15 GB maps)
nightlythe rolling Dev build, extractedyes~8.4 GB (UE4) / ~15.7 GB (--ue5)
gita source checkout of a branch/tagno — must be built~1 GB (content is separate, ~31 GB)
dockerthe carlasim/carla imageyes, in a containerimage-sized

Instructions

Progress:
- [ ] Step 1: Check prerequisites (bash scripts/check_env.sh), clear FAILs
- [ ] Step 2: list / resolve — see what exists and what it will cost
- [ ] Step 3: fetch it (release | nightly | git | docker)
- [ ] Step 4: record the path with `set_config`, then hand over to the next skill

Step 1: Check prerequisites

bash scripts/check_env.sh

It fails early on the things that waste a multi-GB download: no network to the API or the CDN, an unwritable destination, or too little disk (a release needs ~19 GB with extraction; --with-maps another ~15 GB).

Steps 2-3: look, then fetch

source scripts/env.sh

python3 scripts/download_carla.py list                       # versions + what each offers
python3 scripts/download_carla.py resolve --version 0.9.16   # real URLs + sizes, no download

python3 scripts/download_carla.py release                    # newest stable, extracted
python3 scripts/download_carla.py release --version 0.9.15 --with-maps
python3 scripts/download_carla.py nightly
python3 scripts/download_carla.py nightly --ue5              # the UE5 line, Linux only
python3 scripts/download_carla.py git --ref ue4-dev
python3 scripts/download_carla.py docker --version 0.9.16

--dry-run on any fetching command prints the exact curl/git/docker command and changes nothing. --dest DIR (or CARLA_DOWNLOAD_DIR) chooses where things land; the default is ~/carla-downloads.

Downloads are resumable and idempotent: an interrupted run continues where it stopped, and a complete archive is never fetched twice. The size is checked against the server's Content-Length before extraction, and the archive is deleted afterwards unless you pass --keep-archive.

Step 4: the handover

Every command ends with a block naming what you now have:

=== obtained ===
  kind    : release
  version : 0.9.16
  path    : /home/me/carla-downloads/CARLA_0.9.16
  launcher: /home/me/carla-downloads/CARLA_0.9.16/CarlaUE4.sh

  export these for the other skills:
    export CARLA_TARGET=/home/me/carla-downloads/CARLA_0.9.16
    # run it:             run-carla-server
    # install the client: install-python-api   (uses the wheel inside it)

That is the point of the skill: CARLA_TARGET makes [[run-carla-server]] detect and launch it with no further configuration, and [[install-python-api]] finds the matching client wheel inside the download — so the client can never mismatch the simulator.

A checkout instead prints CARLA_UE4_ROOT and points at [[build-carla-ue4]], because a checkout cannot run until it is built.

Why URLs are resolved, never constructed — and never trusted

The filename scheme is not stable across the CARLA line. Verified live:

0.9.16  ->  Linux/CARLA_0.9.16.tar.gz                8.3 GB
0.9.16  ->  Linux/AdditionalMaps_0.9.16.tar.gz      14.8 GB
0.10.0  ->  Linux/Carla-0.10.0-Linux-Shipping.tar.gz 10.4 GB   <- different scheme

So the skill reads the GitHub release body (the authority for the filename, always current), which is also why a newly published version — 1.0 included — needs no change here: list and resolve see it as soon as GitHub does. Constructing CARLA_<version>.tar.gz would 404 on the 0.10 (UE5) line. GitHub releases themselves carry no attached assets — the links in the body are the only source.

The host in those links, however, is stale for everything before 0.9.16: they point at tiny.carla.org, which still 308-redirects to the BunnyCDN zone carla-releases.b-cdn.net — and that zone answers 403 for every object (as of 2026-09). So each resolved URL is probed for status, not merely a response, and remapped by identical path onto the first live mirror:

MirrorHolds
downloads.carlasim.com0.9.16 and the nightly Dev/ builds
carla-releases.s3.us-east-005.backblazeb2.comeverything, incl. 0.9.15 and older, and 0.10.0

When that happens, the command prints a note: line naming the dead URL and the mirror used, so a future breakage is visible rather than silent.

AdditionalMaps

--with-maps fetches the extra towns, and they are not extracted: they are staged into the release's Import/ directory, because a package imports them with its own script:

cd <release> && ./ImportAssets.sh

Examples

Example 1: a user with nothing

User says: "I have no CARLA, set me up"

release → export CARLA_TARGET=<printed path> → [[install-python-api]] install (finds the bundled wheel) → [[run-carla-server]] (detects the release, launches it). Three skills, no manual downloads, no version decisions.

Example 2: a specific old version

User says: "I need 0.9.14 to reproduce a bug"

list shows it, resolve --version 0.9.14 shows the size, release --version 0.9.14. The client then matches automatically, since it comes from that package.

Example 3: they want to build from source

User says: "clone the ue4-dev branch"

git --ref ue4-dev → CARLA_UE4_ROOT → [[build-carla-ue4]]. The skill warns that content is a separate ~31 GB fetch (build step 05) and that a checkout cannot be run until built.

Recording the path

An export lasts until the shell exits. Persist CARLA_ROOT instead, so the next session — and list_skills — still knows where this went:

set_config({"CARLA_ROOT": "<the path printed above>"})

Without it the group this just enabled keeps reporting available: false, and the next skill re-detects from scratch. CARLA_ROOT is the only CARLA path to record: set_config derives the engine-specific variable itself.

Verify

The printed path exists and, for a release/nightly, holds CarlaUE4.sh:

ls "$CARLA_TARGET"/CarlaUE4.sh
DETECT=1 bash ../../ue4/run-carla-server/scripts/run_server.sh   # should report mode=package

DETECT=1 is the real end-to-end check that the download is usable: it is the same detection [[run-carla-server]] uses to launch.

Troubleshooting

Problem: the download stops partway Cause: a dropped connection on a multi-GB transfer. Solution: re-run the same command — curl -C - resumes. Nothing is re-fetched once the size matches.

Problem: not enough disk: need ~19 GB Cause: the check counts the archive plus extraction. Solution: free space, or --dest / CARLA_DOWNLOAD_DIR to a bigger filesystem.

Problem: no release tagged X Cause: that tag does not exist (or is older than the 20 releases queried). Solution: list shows the tags. For unreleased code use git --ref <branch>.

Problem: extraction succeeded but no CarlaUE4.sh was found Cause: an interrupted extraction, or a release whose launcher has another name (the UE5 line — 0.10 and 1.0 — uses CarlaUnreal.sh). Solution: the skill searches for both and warns when neither appears; check the printed path, and re-run with --keep-archive to retry extraction without re-downloading.

Problem: the UE5 nightly is published for Linux only Cause: no Windows/Dev/CARLA_UE5_Latest.zip is published — the UE5 nightly is a Linux artifact only. Solution: release --version 0.10.0 gives a UE5 build on Windows.

Problem: Docker image runs but no client works Cause: the image ships the simulator only. Solution: [[install-python-api]] --source pypi --version <image tag>.

Outputs

An extracted CARLA (or a checkout, or a pulled image) under CARLA_DOWNLOAD_DIR, plus the printed kind/version/path and the exports the next skill needs. The archive is removed after a successful extraction unless --keep-archive is given.

Per-mode detail, the CDN layout, version/naming history and what each artifact contains: references/sources.md.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Adds a new ROS 2 message type to CARLA's native ROS 2 interface — the hand-written POD struct under LibCarla/source/carla/ros2/types/msg, its Fast-CDR serialize/deserialize pair, the RIHS01 type hash computed in Docker, the CdrTopicInfo registration and the type-hash test. Use when the user asks to "add a ROS message type", "support sensor_msgs/X in CARLA", "add a carla_msgs type", "why is my type hash warning appearing", or needs a message CARLA does not publish yet. There is no IDL codegen — every step is manual.

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

Adds a new topic to CARLA's native ROS 2 interface — a publisher (BasePublisher + PublisherImpl, topic suffix, QoS, registration in ROS2::GetOrCreateSensor, a ProcessDataFrom* entry point and its call site in the UE4 plugin) or a subscriber that lets ROS drive an actor. Also covers adding a middleware (RMW) behind IPublisherMiddleware. Use when the user asks to "publish X to ROS from CARLA", "add a ROS topic/publisher/subscriber", "make the obstacle/lane-invasion sensor publish", "add odometry to ROS", or "add another RMW".

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

Reads and summarises ScenarioRunner output — the criteria pass/fail tables from --output/--file, the machine-readable --json and --junit result files, and the criteria JSON written alongside a --record recording — and runs the metrics module (metrics_manager.py) to compute custom measurements over a recorded run offline, without the simulator. Use when the user asks "did the scenario pass", "why did it fail", "summarise these results", "compare these runs", or wants distance/speed/lane metrics from a recording.

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

Gets actor and level 3D bounding boxes and projects them into a camera image as 2D boxes — the dataset-annotation workflow. Lists box geometry, draws 3D boxes in the world via debug, or captures one camera frame and writes an annotated PNG plus a JSON of 2D boxes for matching actors. Use when the user asks to "get bounding boxes", "draw boxes around the cars", "project boxes onto the camera", or "generate a detection dataset / annotations".

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

Builds CARLA (branch ue4-dev, Unreal Engine 4.26) from source on Linux end-to-end — UE4 fork, the Carla server (editor C++ modules), the LibCarla Python client wheel, and content — then verifies them against a from-source server. Optionally builds the native ROS 2 interface in (ROS2=1 → --ros2, Fast-DDS/CycloneDDS/Zenoh), which is compile-time only and cannot be enabled later. Use when the user asks to "build CARLA from source", "compile CARLA ue4-dev", "set up CARLA on Ubuntu (incl. 24.04)", "build CARLA with ROS2 support", or "produce a CARLA server + client wheel". Cooking a distributable Dist/ package is a separate skill (package-carla-ue4); running the build is run-carla-server.

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

Builds CARLA on Unreal Engine 5.8 from the ue58-dev branch using its CMake build system — configure a preset, then build the carla-unreal / carla-unreal-editor / carla-python-api-install / launch targets — with ROS 2, DLSS, RSS and cook-scope options, and the engine-side build of the CarlaUnreal UE 5.8 fork. There is no Makefile and no Util/BuildTools in this tree, so every UE4 `make` recipe is invalid here. Use when the user asks to "build CARLA UE5", "build ue58-dev", "compile CARLA with cmake", "rebuild the Python API", or hits a CMake configure or target failure.

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

carla-simulator のスキルをすべて見る

このスキルの問題を報告する