Core of the uBot plugin family: unified frame header, simulation clock and package management.
Documentation · Releases · Roadmap · Issues
English | 简体中文
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 Identitycomponent names a robot; the sample scheduler fires at most once per frame. - Package management. Package index, dependency and version checks, and the
Window > uBotpanel. uBot Manager installs and updates packages.
With uBot Manager (recommended), see the step-by-step guide:
- Download the installer from the uBot Manager releases and run it.
- Open the project's
.uprojectin uBot Manager, selectUBotCore, then review and apply the changes. Dependencies are resolved automatically. - Open the project in Unreal Engine 5.5. The Loaded Packages section of
Window > uBotlists 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/uBotCoreRequirements: 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.
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 |
| 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/ |
- Build: clone into the
Plugins/uBot/uBotCorefolder of a UE 5.5 C++ project. The editor prompts to compile the modules on first launch. - Test: the Automation tests are named
UBotCore.*. OpenTools > Session Frontend, select the Automation tab and filter byUBotCore. The command-line invocation is in docs/DEVELOPMENT.md. - Issues: report them on GitHub Issues, stating the uBot Core version and the relevant
LogUBotlines from the editor log.
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.