Concepts overview
The Unity plugin follows a component-based model: you build Teslasuit behaviour by adding components to GameObjects rather than writing procedural setup code. Start with the component model, then read the concept for each subsystem you need. This page maps each capability to its concept, reference, example, and prefab pages.
The component model#
Start here. The Component model page explains how you build with the plugin: start from the wiring the plugin already ships (the glove hand_l/hand_r prefabs, or the Suit mocap example scene for the suit), or compose a device object yourself by attaching a TsSuitBehaviour or TsGloveBehaviour, adding the subsystem components you need, and writing your own MonoBehaviour on top.
For the smallest end-to-end version of this, see the Playing touches example: one GameObject with a TsSuitBehaviour and a TsHapticPlayer, plus a short script that plays a touch.
Haptics & EMS#
Programmable electrical stimulation through the suit's electrodes: at low power it produces tactile haptic sensations; at higher power it drives EMS (electrical muscle stimulation) for muscle contractions and functional electrical stimulation (FES).
- Concept — how the plugin produces haptic and EMS feedback
- Reference — the
TsHapticPlayercomponent - Example — play a haptic touch on the suit
- Body & channel map — which channels map to which body zones and muscles (Python-first tool; the mapping applies to the plugin's simplified channels, though the code snippet it shows is Python)
Mocap#
Full-body motion capture from the suit's inertial measurement units (IMUs) and hand tracking from a glove, streamed in real time onto animated avatars.
- Concept — what Mocap captures and how the plugin applies it
- Reference — the motion providers and animators
- Example — stream suit motion onto a character
- Hand prefabs — the ready-made glove hand rigs
PPG#
Photoplethysmography: optical heart-rate sensing, streamed from the device's PPG node.
- Concept — what PPG measures and how the provider streams it
- Reference — the
TsPpgProvidercomponent - Example — stream and display heart rate
Advanced development#
For fully custom behaviour: the underlying bootstrap, the native session, device pairing, and handling connection changes yourself.
- Advanced development:
TsInitializer, theTsManagersession root, reaching the native managers, and custom connection handling.
