A sample Unreal project intended to be a reference for recommended settings and project organization when using Tempo.
Looking for some help? Find us on
You can use this as a template repo and rename the project with Scripts/Rename.sh.
Warning
The Rename script is only intended to rename a freshly-cloned TempoSample project. It will not help you rename your project after you've started making changes and adding files.
Follow the instructions from the Getting Started video and instructions in Tempo.
Warning
Don't forget to recurse submodules (so you get the Tempo plugins) when cloning:
git clone <your_repo> --recurse-submodules
If you do forget, run a git submodule update --init --recursive Plugins/Tempo to fix it
Refer to the Compatibility, Prerequisites, and Environment Variables sections from Tempo.
This project includes some free (Creative Commons License) content for demonstration, the default environment and street sweeper. Most Tempo projects start by replacing that with domain-specific content.
This project contains very little code. For an example of how you can write your own RPCs and expose them to Python using Tempo, check out the Greeter example plugin. This plugin is included in the TempoSample project, but you can disable them (by editing the uproject file) or remove it once you get the idea. You can follow the same patterns to add services and RPCs to your own project code.
TempoROS is a standalone plugin, developed by the same authors, included in Tempo as a submodule. The TempoROS and TempoROSBridge plugins (the latter of which translates and forwards Tempo messages to and from ROS) are disabled by default in the TempoSample project. If you use ROS, enable them by by editing the uproject file.
To try out the Tempo Python API (after running Plugins/Tempo/Setup.sh and Scripts/Build.sh):
- Run
source ./TempoEnv/bin/activateto activate the included virtual environment pip install jupyterand runjupyter lab- Open
Content/Python/ExampleClients/TempoSimExamples.ipynb
- Run
Scripts/Clean.sh(from the project root) to remove previous build artifacts. - Run
Scripts/Build.sh(from the project root) to build the project. - Run
Scripts/Run.sh(from the project root) to open the project in the Unreal Editor. - Run
Scripts/Package.sh(from the project root) to package into a standalone executable. It will end up in a folderPackaged/<platform>under the project root.
