Hi,
LLBs are outdated, suffer from name collision because it doesn't embedded lvlib nor classes, and force the VIs to match the exact same LV dev version with VS runtime version (to be able to run the compiled code of raw VIs on the target without the need to recompile them).
It would be preferable if custom devices/controls could be built into lvlibp instead.
It has many advantages such as:
* Source protection
* Respect of lvlib and lvclass namespace (avoid name collision)
* Only the compiled code is stored so they are smaller than LLBs
* Compiled code made with LV 2017+ is compliant with upper versions of the run time engine (would allow keeping the version of LabVIEW while upgrading Veristand)
I'm pretty sure the limitation nowadays only relies on file extension filtering to find the 'main' VI to launch in the SysExplo and engine. If I'm right the change could be done easily.