UNITE
Get started
Install UNITE and run your first study. By the end you will have a working delayed-teleoperation study running in Unity, and you will have made it your own by changing a single module.
Installation
To run UNITE locally you need:
-
Unity Hub and Unity 6000.3.15f1
(Unity 6) — the exact version recorded in
ProjectSettings/ProjectVersion.txt. - Git and Git LFS — the project stores its 3D models, textures, and other binary assets with LFS.
Install Git LFS first. The 3D
models, textures, and other binary assets are stored with
Git LFS, so
git lfs install must run before you clone, or
the asset files arrive as small text pointers instead of real meshes.
Install Git and Git LFS
With Homebrew installed, run:
brew install git git-lfs
Alternatively, install Git with Apple's Command Line Tools using
xcode-select --install, then install Git LFS from
git-lfs.com.
Install
Git for Windows. Confirm git lfs version works; if Git LFS is not
available, install it separately from
git-lfs.com. If you
use winget, the Git installation can also be started
with:
winget install --id Git.Git -e --source winget
On Debian or Ubuntu:
sudo apt update
sudo apt install git git-lfs
On Fedora, use sudo dnf install git git-lfs; on Arch
Linux, use sudo pacman -S git git-lfs. Other
distributions can use the instructions on
git-scm.com
and git-lfs.com.
Clone the repository
Run these commands after installing Git LFS:
git lfs install
git clone https://github.com/Dries-Cardinaels/spacechi-unite.git
cd spacechi-unite
git lfs pull
git lfs pull is safe after a fresh clone and makes the
asset-download step explicit. If you already cloned the repository
before installing Git LFS, run the same commands from inside the
cloned folder, starting with git lfs install and
git lfs pull.
Open the resulting folder in Unity Hub: choose
Add → Add project from disk, select the cloned
folder, and open it with Unity 6000.3.15f1.
Library/, Logs/, and the IDE project files
are regenerated by Unity on first open and are intentionally not
tracked.
Optional but recommended.
Register Unity's smart merge tool so scene and prefab merges
resolve cleanly — .gitattributes already routes
.unity, .prefab, and similar files
through it.
Point the unityyamlmerge merge driver at the tool shipped
with your Unity install, for example on macOS:
git config merge.unityyamlmerge.name "Unity SmartMerge"
git config merge.unityyamlmerge.driver \
'"/Applications/Unity/Hub/Editor/<version>/Unity.app/Contents/Tools/UnityYAMLMerge" merge -p %O %B %A %A'
Quick start
This walkthrough takes you from the freshly opened project to a running study, and then to your own variation of it by changing a single module.
-
Open a study scene.
In the Project window, open
Assets/UNITE/Demo/every-move-you-make/Scenes/condition-baseline.unity. It is the bundled Every Move You Make demo: a TurtleBot3 Waffle Pi rover on a lunar-analog course under a fixed 2.56 s uplink delay, with an operator display, a task, and logging already wired up. -
Press Play and drive.
Hit Play and drive the rover from the keyboard: the
Up/Downarrow keys to drive forward or backward, and theLeft/Rightarrow keys to turn. Notice the lag between your keypress and what you see, which is the 2.56 s delay the study applies. -
See how the study is assembled.
Select the
TeleroboticsAgentGameObject in the Hierarchy. Its Inspector shows the study'sIDandUpdate Rate, plus the connected input, mapping, communication, vehicle, observation, presentation, task, and logging modules: input read by the keyboard provider, mapped to wheel velocities, delayed by Uplink Communication, applied by the TurtleBot3 Vehicle / Robot Model, and sent back through the downlink modules to Operator Presentation. -
Make it your own: change the delay.
The delay lives in a communication-condition asset,
Configurations/Fixed-Uplink-2560ms, that the Uplink Communication module references. Edit its delay (or point the module at a different condition asset) and press Play again: the same study now runs under your condition, with nothing else changed. - Save it as a shareable study. Save the scene under a new name, then commit the scene together with any changed configuration assets. That scene is your study: a collaborator opens it and runs exactly what you ran.
The core idea. You never rebuild the apparatus; you reconfigure it. Every study is the same loop of modules with different choices plugged in, which is what makes studies reproducible and comparable.