Introduction
The combination of PoE LiDAR sensors and Unity 3D creates powerful interactive projection and gaming experiences. By leveraging the TUIO protocol, LiDAR can output multi-touch data directly into Unity, enabling immersive installations for museums, shopping malls, and entertainment venues.
However, engineers and developers often face several challenges during setup. This article explores the most common issues when using TUIO with Unity and how to solve them for stable and accurate interaction.

What is TUIO?
TUIO (Tangible User Interface Object) is an open protocol for transmitting touch and gesture events. Based on UDP communication, it is widely used in interactive walls, tables, and projection systems. When combined with CPJROBOT PoE LiDAR, it transforms walls or floors into responsive multi-touch surfaces.
Common Issues When Connecting PoE LiDAR to Unity via TUIO
1. Missing TUIO Input Plugin
Unity does not natively support TUIO input. Developers must install a TUIO-compatible plugin, such as TouchScript, and attach the TUIO Input script to the scene. Without this, Unity will not recognize multi-touch events.
2. Incorrect Touch Range and Trigger Settings
If the LiDAR’s detection area or trigger settings are not synchronized with Unity’s configuration, touch events may fail to register. Always align the LiDAR’s output range with Unity’s input coordinates for consistent interaction.
3. Coordinate Conversion Errors
LiDAR data is typically output in screen-space coordinates, but Unity requires world-space positioning for object placement. Developers must correctly map and convert coordinates, otherwise spawned objects or touch points may appear in the wrong location.
4. Debugging Without Verification
Many issues arise because developers jump directly into building custom logic without verifying TUIO input first. The best practice is to test with sample Unity scenes to confirm stable input reception before integrating into production applications.
5. UDP Packet Loss
Since TUIO uses UDP transmission, unstable networks can cause packet loss, leading to delayed or missing touch events. Developers should implement error handling and redundancy measures to ensure smooth user interaction.
Best Practices for Stable TUIO Integration
- Use wired connections whenever possible to minimize UDP packet loss.
- Verify input with TUIO demo applications before moving into Unity development.
- Implement coordinate normalization to ensure consistent mapping across different wall or floor sizes.
- Combine Unity’s debug tools with LiDAR’s calibration software to fine-tune responsiveness.
FAQs
Q1: Do I need special software to use TUIO with Unity?
Yes, you must install a TUIO-compatible Unity plugin such as TouchScript to enable multi-touch input.
Q2: Why is my LiDAR input not showing in Unity?
Check that the TUIO Input script is attached, the correct UDP port is configured, and both devices are on the same network.
Q3: How do I handle coordinate mismatches?
Implement a conversion function to map LiDAR’s screen coordinates to Unity’s world space. This ensures precise touch positioning.
Q4: Will TUIO lose data on poor networks?
Yes. Since TUIO uses UDP, packet loss can occur. For best results, use stable wired connections and add error tolerance in your code.
Q5: Can multiple LiDAR units send TUIO data to Unity simultaneously?
Yes. CPJROBOT PoE LiDAR supports cascading multiple sensors, which can all output TUIO data to Unity for seamless multi-touch coverage.
Conclusion
Integrating PoE LiDAR with Unity via TUIO unlocks innovative multi-touch experiences, but developers must carefully address plugins, range alignment, coordinate conversion, and network reliability. By following best practices and troubleshooting tips, engineers can create stable and responsive interactive walls and floors.
Looking to build a professional interactive projection system with precise LiDAR touch detection?
Contact CPJROBOT today for advanced PoE LiDAR solutions—engineered for seamless Unity integration, stable TUIO output, and large-scale multi-touch installations.