ColumbiaCGUI / MercuryMessaging
A framework and encompassing toolkit to facilitate nonspatial communication in the Unity game engine.
View on GitHubAI Architecture Analysis
This repository is indexed by RepoMind. By analyzing ColumbiaCGUI/MercuryMessaging in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewMercuryMessaging **Hierarchical Message Routing for Unity** Developed by **Columbia University CGUI Lab** --- What is MercuryMessaging? MercuryMessaging enables loosely-coupled communication between Unity GameObjects through hierarchical message routing. Instead of managing direct component references, send messages that automatically propagate through your scene hierarchy. --- Quick Start **Traditional Unity vs MercuryMessaging:** --- Key Features• **Hierarchical Message Routing** - Messages flow through Unity's scene graph• **Fluent DSL API** - Modern chainable API with 77% code reduction• **Multi-Level Filtering** - Target by level, active state, tags, and network status• **Built-in Networking** - FishNet and Photon Fusion 2 support• **FSM Integration** - First-class finite state machine support• **VR/XR Ready** - Compatible with Unity XR Interaction Toolkit• **Zero Dependencies** - Core framework has no external dependencies --- Installation **Unity Package Manager (Git URL):** **Manual Installation:** Download or clone the repository and copy into your project's Assets folder. --- Compatibility | Unity Version | Status | |---------------|--------| | Unity 6 (6000.x) | Tested | | Unity 2022.3 LTS | Recommended | | Unity 2021.3 LTS | Supported | | Unity 2020.3 | Legacy | **Platforms:** Windows, macOS, Linux, Android, iOS, WebGL, Quest 2/3, PC VR (OpenXR) **Optional Networking:** FishNet, Photon Fusion 2 --- Documentation• **Wiki Tutorials** - Step-by-step learning path• **API Reference** - Complete API documentation• **Examples** - Demo scenes and sample code --- Research & Citation MercuryMessaging is a research project from Columbia University. If you use it in your work, please cite: CHI 2018 (Primary Citation) Carmine Elvezio, Mengu Sukan, and Steven Feiner. 2018. **Mercury: A Messaging Framework for Modular UI Components.** In *Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems* (CHI '18). ACM, Paper 588, 12 pages. https://doi.org/10.1145/3173574.3174162 BibTeX IEEE ISMAR 2024 Ben Yang, Xichen He, Jace Li, Carmine Elvezio, and Steven Feiner. 2024. **An XR GUI for Visualizing Messages in ECS Architectures.** In *2024 IEEE International Symposium on Mixed and Augmented Reality Adjunct* (ISMAR-Adjunct). IEEE, 878-879. https://doi.org/10.1109/ISMAR-Adjunct64951.2024.00189 Dissertation Carmine Elvezio. 2021. **XR Development with the Relay and Responder Pattern.** Ph.D. Dissertation, Columbia University. https://doi.org/10.7916/D8-K5VE-HK48 --- Support• **Bug Reports:** GitHub Issues• **Questions:** GitHub Discussions• **Lab Website:** Columbia CGUI Lab This is a research project. We welcome bug reports and feature requests, but are not currently accepting external pull requests. --- License BSD 3-Clause License - Copyright (c) 2017, Columbia University Acknowledgments Funded in part by National Science Foundation Grants IIS-1514429 and CMMI-2037101. Any opinions, findings and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.