Today, we’re excited to announce that **Foxglove now supports loading ROS 2 bags for playback and visualization**. With [v0.13.0](https://github.com/foxglove/studio/releases), a new data source option (`ROS 2 Bag Folder (local)`) will be available in the sidebar’s _Connection_ tab. With this option, you can load [rosbag2](https://github.com/ros2/rosbag2) files for playback.

## Current limitations and future plans

While we’re excited for ROS 2 to reach true feature parity with ROS 1 support in Foxglove, it’s important to note several important differences in the features as they stand today.

For one, since ROS 2 bags currently do not contain the [message definitions](https://docs.ros.org/en/rolling/Concepts/About-ROS-Interfaces.html?highlight=idl#message-description-specification) that were used to generate the bag files, **Foxglove is currently unable to load custom message definitions**. However, it will still support standard ROS message definitions (e.g. [std\_msgs/ColorRGBA](https://docs.ros.org/en/api/std_msgs/html/msg/ColorRGBA.html), [geometry\_msgs/Pose](https://docs.ros.org/en/api/geometry_msgs/html/msg/Pose.html), etc.) as it does today. With that said, **the Foxglove team is** [**working closely with ROS developers**](https://github.com/ros2/rosbag2/issues/782) **to ensure that future ROS 2 bags will include the message definitions used to generate them**. This will allow third-party tools like Foxglove to decode and inspect ROS 2 data.

**Foxglove also does not yet support preloading ROS 2 data**. After initializing a data source connection, Foxglove typically preloads data to pre-populate panels like the [Plot panel](https://docs.foxglove.dev/docs/visualization/panels/plot). Adding this same support for ROS 2 sources is high on our list of priorities – join our [Discord community](/content/chat/index.html) or sign up for our newsletter to be the first to know when this functionality lands.

*Preloading ROS 1 data into the Plot panel before starting playback.*

**We’re also working on allowing users to connect to live ROS 2 data sources**. In the same way that users can currently connect to a live ROS 1 stack in Foxglove via a native connection or a Websocket bridge, we want our users to be able to listen live to their ROS 2 nodes.

## Share your feedback

Foxglove support for ROS 2 is still a work in progress, so **let us know what improvements or new features you’d like to see**!

We also know not all roboticists use ROS as their robotics platform of choice, so **we’d love to hear your thoughts on how we should expand our supported data sources in the future**.

To share your feedback, join our [Discord community](/content/chat/index.html) or message us on [Twitter](https://twitter.com/foxglove).

Check out [our docs](https://docs.foxglove.dev/docs/connecting-to-data/introduction#data-sources) for details on all our currently supported data sources.
