No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro kilted showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro lyrical showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro rolling showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

rclgd repository

colcon_rclgd rclgd rclgd_cli

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/Ozuba/rclgd.git
VCS Type git
VCS Version main
Last Updated 2026-08-02
Dev Status UNMAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
colcon_rclgd 2.1.0
rclgd 2.1.0
rclgd_cli 2.1.0

README

# RCLGD [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18440938.svg)](https://doi.org/10.5281/zenodo.18440938) RCLGD  logo An implementation of a ros2 client library for the Godot Engine based on [ROS Babel Fish](https://github.com/LOEWE-emergenCITY/ros_babel_fish)

Features

As for now only the basic set of the rclcpp api are implemented, keep in mind this is highly experimental and not suited yet for production. But it serves as the groundbase for implementing awesome simulation environments and visualizers using the powerful features of the godot engine.

  • rclgd Singleton
  • Dynamic Msg Type Support
  • Nodes
  • Publishers
  • Subscribers
  • Service Clients
  • Service Servers
  • Timers
  • Action Clients & Servers
  • Parameters
  • TF2 Publishers and Listeners -> Including stamped lookups, time travel and frame-graph introspection
  • TF2 Listeners And Broadcasters as 3D Nodes in godot (Will be deprecated in future update)
  • Node and TF Namespacing
  • ROS Graph Inspection
  • QoS -> Through QoS RosQoS resource
  • Godot template project
  • Godot Editor Support -> Pseudo-Static Type Wrappers
  • Simulation Time -> -p publish_sim_time:=true publishes the Godot physics clock on /clock; the standard -p use_sim_time:=true makes clocks and timers follow /clock
  • Native RCLGD packages in colcon

Repository layout

The suite is split into independently releasable ROS 2 packages:

Package Type Contents
rclgd ament_cmake the GDExtension (librclgd.so), godot launcher, runtime manifest
colcon_rclgd ament_python the build_type: rclgd colcon extension
rclgd_cli ament_python the ros2 rclgd command and the editor addon template

The system-test suite (rclgd_tests, itself a native rclgd package) is maintained separately so this repository contains only the releasable packages.

Installation

rclgd is published to the ROS 2 build farm, so on a machine with the ROS 2 apt repositories configured you can install the whole suite in one command:

sudo apt update
sudo apt install ros-jazzy-rclgd

This installs all three packages plus the pinned Godot editor binary — the install is complete out of the box, no extra step. Replace jazzy with your ROS 2 distribution if needed (rclgd is developed and tested on Jazzy).

source /opt/ros/jazzy/setup.bash
ros2 rclgd doctor   # verify the install

Building from source

Build from source to track main, hack on rclgd, or target a different Godot version. Clone into your workspace, install dependencies, build and source. The rclgd build downloads the pinned Godot editor binary (SHA-512 verified against the official release sums) and installs it as lib/rclgd/godot-bin, next to librclgd.so — provisioning happens inside the build, so the install is complete out of the box with no separate setup step.

git clone --recurse-submodules https://github.com/Ozuba/rclgd.git src/rclgd
rosdep install --from-paths src --ignore-src -y -r
colcon build --packages-up-to rclgd
source install/setup.bash

The build installs exactly the Godot version librclgd was compiled against (the version of the godot-cpp bindings; recorded in share/rclgd/godot_version). To use a different Godot version, retarget the godot-cpp submodule to the corresponding branch, edit GODOT_VERSION and the GODOT_SHA512_* pins in rclgd/CMakeLists.txt, and rebuild.

Command line tools

rclgd ships a ros2 rclgd command:

Verb Purpose
ros2 rclgd create <name> Scaffold a new rclgd package (package.xml, project, addon, demo pub/sub)

File truncated at 100 lines see the full file