Companion is designed to be highly extensible, and many first- and third-party add-ons exist for the platform. There are four major categories of user content that can be installed directly onto a controller:

  • Applications. These are native LSL programs that reside in user memory and can perform any function. They are generally accessed through the applications menu on the main screen.

  • Personas. These are configuration presets that alter how the unit sounds, speaks, and behaves. They can be found through the personas menu on the main screen.

  • Arabesque scripts. These perform a set list of system commands, similar to shell or batch scripts on other operating systems. They also have limited support for branching and variable substitution. Arabesque scripts can trigger in response to system events (such as disconnecting from a charger), persona changes, or direct user request from the perform menu on the main screen.

  • System extensions. These are optional operating system components that reside in system memory, including the TESI emotion simulator and ATOS/E security enhancements. Depending on the unit's individual configuration and the nature of the specific extension, access methods may vary.

  • Getting add-ons. While it is possible to manually install add-ons (see Installing data files for instructions), most content is made available in the form of a software package using the Xanadu Package System protocol. To see available options, use the manage > software menu or the xanadu command. Further details are available here.

    Removing system extensions. In Companion 8.6 and later, system extensions such as TESI and ATOS/E no longer need to be uninstalled with a cleaner tool, and can usually be uninstalled like other packages. See the generic command-line update instructions page for more information.

    read more Applications
    Installing data files
    Managing packages and installed software
    Scripting actions with Arabesque
    see full hierarchy