Getting Started as a Developer
The Unify Developer Guide contains a lot of useful information for Unify developers.
The Unify Build Guide is the best starting point for working with the source code.
The Unify User Guide contains helpful tips on debugging within Unify.
Development Platform Recommendations
The Unify reference platform is a Raspberry Pi 4 however it is understood that users may not wish to run on a Raspberry Pi in a final product. Porting to Debian based linux should be straightforward.
System requirements for flash, RAM, and dependencies are listed at here
Developing IoT Services
The IoT or cloud connector must use UCL (MQTT) to communicate with the other components of Unify. See How to Develop an IoT service Unify uses MQTT to communicate among each component using the Mosquitto MQTT broker. UCL is the format of the MQTT messages. The Unify Framework Specification contains the definitions for UCL.
Also see UCL MQTT API
Developing EED
See Building EED on how to build EED. The section also has some useful notes for developers interested in updating EED.
Developing protocol controllers
See How to Develop a Protocol Controller
The attribute mapper helps to translate protocol commands to UCL MQTT messages. See How to write UAM files
Extend UCL clusters to non-zigbee controllers
Refer related chapter in Z-Wave-Protocol-Controller documentation