Managing packages and installed software
Version 8 of Companion introduced a complete overhaul of the software management system called Xanadu. This permits automated updating of the installed firmware, as well as the installation, updating and removal of packages from a central server using a menu-based interface. Packages may include applications, scripts, personas, or data for other user applications that you already have installed. Only managers and owners may use the software manager.

Locating a server. When installing or updating software for your controller, it is necessary to be in the same region (within 256 m on the ground, altitude-independent) as a Xanadu server. Xanadu servers can generally be found on the premises of Nanite Systems offices and retailers, although some organizations may offer their own Xanadu servers for custom applications, drivers, and compatibility software. A list of locations with official Xanadu server support for system updates and similar is available at the Store and Service Locations page.

Menu usage


Connecting to a server. Once you have located a region you believe has server support, open the manage > software > connect menu and select an appropriate server from the list. Names and descriptions for detected servers will be provided to you in text.

Installing packages. Once connected to a server, select install. After a few seconds you will be presented with a range of packages. To learn more about a package, select its name from the list and choose info. To install the package, select its name and choose install.

Updating packages. This is analogous to the installation process: select update from the server's menu, choose a package, and then press upgrade. The menu will only list packages which you have installed that the server can update. To learn about what the update contains and to remind yourself about the purpose of the package, press info.

Removing packages. Select remove from the manage > software menu (or the server's menu) and then the package name, followed by remove. To learn what the package contains instead of removing it, you may alternatively press info.

Updating the system. Follow the instructions to update a normal package, as described above. Select the "Companion" package. For more details, see: Updating to the latest firmware. It is strongly recommended that you first back up your keychain with the manage > users > save users item, or the keychain save command.

Command-line usage


The xanadu command, introduced in Companion 8.3.0, allows direct and efficient control of the package management system, and is ideal for power users and domain administrators. Its core features are as follows:

xanadu list|servers|search|disconnect
xanadu connect <server>
xanadu install|info|upgrade|remove <package>


  • search: polls for available Xanadu package servers. Performed automatically on region change.
  • servers: lists available servers.
  • connect: connects to <server>.
  • disconnect: disconnects from the current server.

  • list: lists installed packages. If connected, combines this list with a list of packages on the server.
  • install: requests <package> from the server and attempts to install it.
  • info: gives info notecard (readme file) for <package>. This works for any package listed by xanadu list.
  • upgrade: installs <package> from the server. This guarantees the current version of <package> is removed first.
  • remove: removes <package> from the unit. A server connection is not required.

  • Exact names (including versions) are required for installing, upgrading, and removing.

    For more information on the xanadu command, see the command reference entry.

    Caching packages


    Installing or upgrading a package begins by copying the package installer into the controller's system memory. The package manager then immediately invokes the installer as a separate object, and then deletes the temporary copy from system memory. However, with command-line package management you may download and retain the installer for deployment at a later date. This is useful for disseminating freeware, and also makes it possible to move to a low-traffic region for the installation process. Note also that rez permissions on the land are only required for the installation process itself, not the initial download.

    To cache a package:

    xanadu cache <package>

    To delete a package from the cache:

    xanadu uncache <package>

    To install or upgrade a package that is in the cache:

    xanadu unpack <package>

    Packages will automatically be removed from the cache during the installation process. Info files are not downloaded, but can be obtained separately from within the package or by using the xanadu info command described earlier.

    Manual installation


    Certain types of assets such as voice packs, custom personas, or software not yet available on a package server may require direct editing to install, update, or remove. See Installing data files for instructions on how to manipulate data files.

    Other information on package management and OS upgrades