NUClear is a software framework designed to aid in the development of real time modular systems. It is built from a set of C++ template metapgrograms which control the flow of information through the system. These metaprograms reduce the cost of routing messages between modules, resulting in faster communication than other similar systems.

NUClear utilises a system called co-messaging to allow simple event callback functions through an expressive domain specific language (DSL). The DSL is highly extensible and provides several attachment points to develop new DSL keywords as needed.

NUClear has been successfully applied in several projects for robotics and virtual reality.

If you are starting a new project using NUClear the NUClear Roles system is highly recommended as it wraps much of the complexity of managing modules.