Skip to content

FlexComm-Lab is the official companion toolkit for the FlexComm framework.

License

Notifications You must be signed in to change notification settings

Eagle-Creative/FlexComm-Lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlexComm-Lab

Community Extensions & Experimental Modules for FlexComm

FlexComm-Lab is the official community and R&D repository for FlexComm, a modular, protocol-agnostic communication framework for Unity. This lab serves as a sandbox for:

  • Experimental features not yet included in the core asset

  • Advanced integrations (e.g., ROS, ROS2)

  • Simple remote server scripts for testing your application

  • An official FAQ and Wiki for FlexComm!

    Over time, more and more things will appear in this repository!

🧠 FlexComm is the spiritual successor to DTStacks, a peer-reviewed MQTT framework presented at CIRP CMS 2024 (DOI: 10.1016/j.procir.2024.10.165). It’s already used in several academic and industrial XR/robotics systems.


✅ What is FlexComm?

FlexComm is a cross-platform, extensible communication layer for Unity that unifies external device and service integration using a single message format (FlexMessage). It supports the following protocols:

  • MQTT
  • TCP / UDP (with framing, queuing, chunking)
  • REST (GET/POST-compatible with topic-target routing)
  • WebSockets (cross-platform)
  • Serial / COM (UWP, Windows)
  • 🔜 WebRTC and more

All protocols implement a shared ICommProtocol interface and are fully interchangeable at runtime using the central FlexClient.

Learn more at: www.eagle-creative.com/flexcomm


🧪 Repository Structure

Folder Description
rest_server/ Minimal REST server for testing the REST protocol option of the FlexClient
websocket_server/ Minimal websocketserver for testing websocket communication
serial_demo/ minimal Arduino script which emulates a sensor.
ROS/ experimental ROS extension for Unity as well as ROS2 extensions for MQTT

🚀 Getting Started / How to Use

💡 You must first import the official FlexComm package from the Unity Asset Store or from Eagle Creative before using this lab repository.

1. Clone or Download

Clone this repository.

git clone https://github.com/Eagle-Creative/FlexComm-Lab.git

Or download it as a ZIP and extract it.


2. Install FlexComm Core

FlexComm-Lab depends on the core FlexClient, FlexMessage, and protocol managers from the FlexComm main package. Import the package via Unity Asset Store or direct .unitypackage.


3. Explore servers

Check the xxx_server/ folders for to start a remote python server for testing your unity application. All server are minimal and essentially just print out and loop back the received message. You can adapt the ports in the settings to your liking

Simply start a server (installation instructions are in the scripts), setup a flexclient and see if everything works!


4. ROS

This folder is fully dedicated to a ROS / ROS2 extension for FlexComm in Unity and a bridge module for ROS. This means that the folder contains all commonly used ROS messages as C# classes. The class itself can be used with JSON overrides. Please note that in ROS all incoming messages have to be exactly identical for it to work!


5. Contribute or Extend

Want to create your own handler or protocol?
--> AWESOME! Just have a look at how the integration works in unity, follow the interface structures and you are good to go!

If you have questions or troubles, please contact Eagle Creative directly!

Then register your new handler with your FlexClient or use UnityEvents to subscribe directly.


🤝 Contributing

We welcome PRs that add value to the ecosystem:

  • Custom FlexHandler components
  • Protocol extensions (e.g., CAN bus, Bluetooth)
  • Diagnostic tools or GUI helpers
  • Robot or digital twin integrations (e.g., MoveIt, ROS2Bridge)

Each contribution should ideally include:

  • Clear usage comments
  • Test scene (if applicable)
  • License/credit if reusing external work

📄 License

This repository is provided under the same terms as the FlexComm base package, unless stated otherwise.
By contributing, you agree to follow the Eagle Creative Contributor Guidelines (coming soon).

© 2025 Eagle Creative. All rights reserved.

About

FlexComm-Lab is the official companion toolkit for the FlexComm framework.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published