Skip to content
AstreoXPublic

About

uBot core for Unreal Engine 5.5: frame header, sim clock, UE/ROS conventions, shared interfaces and package management.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

24 Commits

Folders and files

Repository files navigation

uBot

uBot Core

Core of the uBot plugin family: unified frame header, simulation clock and package management.

release license Unreal Engine 5.5

Documentation · Releases · Roadmap · Issues

English | 简体中文

What it is

uBot Core is the foundation plugin of the uBot family for Unreal Engine 5.5. It provides the components that all uBot plugins share, so that they use the same time base, coordinate conventions and units.

  • Frame header. Every sensor sample carries a sensor id, frame id, sequence number, timestamp and status code.
  • Simulation clock. All uBot timestamps use the world's game time. Fixed time step, pause and single-step are available from Blueprints and C++.
  • UE and ROS conventions. Conversion of positions, rotations, angular velocity, time and names between Unreal (left-handed, cm) and ROS REP-103 (right-handed, m).
  • Shared interfaces. Sensor, actuator, command and perception-medium interfaces connect plugins without class dependencies between them.
  • Identity and sampling. The uBot Identity component names a robot; the sample scheduler fires at most once per frame.
  • Package management. Package index, dependency and version checks, and the Window > uBot panel. uBot Manager installs and updates packages.

Install

With uBot Manager (recommended), see the step-by-step guide:

  1. Download the installer from the uBot Manager releases and run it.
  2. Open the project's .uproject in uBot Manager, select UBotCore, then review and apply the changes. Dependencies are resolved automatically.
  3. Open the project in Unreal Engine 5.5. The Loaded Packages section of Window > uBot lists uBot Core and its version.

From source: clone a release tag into the project, enable uBot Core (category uBot) under Edit > Plugins and restart the editor. The editor prompts to compile the modules on first launch.

git clone --branch v0.1.2 https://github.com/AstreoX/uBotCore <Project>/Plugins/uBot/uBotCore

Requirements: Unreal Engine 5.5. A source install requires git and Visual Studio 2022 with the C++ toolchain. uBot Manager runs on Windows 10 and 11 and installs prebuilt packages where available.

Documentation

The manual is published on the documentation site. The site and the Markdown files in docs/ are written in Chinese.

I want to ... Go to
Read the simulation time; pause and single-step Simulation clock
Convert coordinates, time and names between UE and ROS UE/ROS conventions
Interpret frame headers and sample status codes Frame header and sample status
Connect sensors, actuators and commands across plugins Interfaces between plugins
Name a robot (id, namespace, base frame) Identity component
Inspect installed packages (panel, Blueprints, command line) Package query and editor panel
Write my own uBot Package Writing a uBot Package
Use sensors and interfaces from C++ Using uBot from C++
Look up the package index, UBot descriptor block, status file and extension points docs/PACKAGES.md
Run the UBotPackage and UBotDocExport commandlets docs/COMMANDLETS.md
Look up the C++ API for clock, conventions, scheduler and interfaces docs/CPP-API.md
Find the module layout and the test instructions docs/DEVELOPMENT.md

uBot family

Repository What it is
uBotCore Simulation clock, frame header, shared interfaces, package management
uBotSensor Pose, IMU, odometry, 2D/3D lidar, RGB and depth cameras
uBotROS ROS 2 over a TCP bridge: sensors, TF, /clock, cmd_vel
uBotAerial Multirotor drones: simplified flight, rigid-body dynamics, wind
uBotManager Desktop app and CLI to install, update and build uBot packages
uBotDocs Documentation site: https://astreox.github.io/uBotDocs/

Development

  • Build: clone into the Plugins/uBot/uBotCore folder of a UE 5.5 C++ project. The editor prompts to compile the modules on first launch.
  • Test: the Automation tests are named UBotCore.*. Open Tools > Session Frontend, select the Automation tab and filter by UBotCore. The command-line invocation is in docs/DEVELOPMENT.md.
  • Issues: report them on GitHub Issues, stating the uBot Core version and the relevant LogUBot lines from the editor log.

License

Apache License 2.0, see also NOTICE. Copyright 2026 AstreoX. The software may be used, modified and redistributed, including commercially, provided that the LICENSE and NOTICE files are kept and modified files are marked.

About

uBot core for Unreal Engine 5.5: frame header, sim clock, UE/ROS conventions, shared interfaces and package management.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages