Houdini 20.5 Reference Windows

Package Browser window

The Package Browser window lets you list, create and manage Houdini packages.

On this page

Overview

The browser offers these functionalities:

  • List all loaded packages.

  • Inspect the content of packages.

  • Edit, create, load, reload, unload, activate and deactivate packages.

  • Package archive creation and installation.

  • Identify packages loaded with errors and warnings.

  • Display messages in a console area.

To access the Package Browser window, click on the in a Pane Tab view and select New Pane Tab Type ▸ Inspectors ▸ Package Browser.

See the documentation for more details about packages.

Package Archive

The package browser allows you to automate the packaging and installation of plugins in Houdini with a package archive (zip file). Package archives are created with a content folder for embedding plugin resources such as scripts, digital assets, viewer states or library files along with an optional package file for loading the plugin in Houdini.

The following Houdini resource types are supported and may be contained in a plugin content folder:

Resource type

Folder

Desktops

desktop

Contains .desk file(s).

Digital assets

otls

Contains HDA files along with OPlibraries files.

Python modules

pythonX.Ylibs

Contains .py files. You are responsible to provide the python modules in the right platform folder. The system python path will be updated with the folder path. The legacy scripts/python folder is also supported.

Python panels

python_panels

Contains .pypanel file(s).

Shelf tools

toolbar

Contains .shelf file(s). The shelf tools are loaded but not active in a shelf set.

Viewer states

viewer_states

Contains python states implementation files.

Viewer handles

viewer_handles

Contains python handles implementation files.

Package archives are created with the New Package Archive… menu and installed with the Install Package Archive … menu.

Note

  • Once a package archive is installed, all Houdini resources should be ready to use; you shouldn’t have to exit and restart Houdini to access them.

  • To uninstall a plugin installed with a package archive you need to unload the plugin installation package file which should be listed in the browser tree view. Unloading the installation package will automatically uninstall the plugin Houdini resources.

    • Plugins can also be uninstalled temporarely by deactivating the plugin installation package file, deactivated plugins ares uninstalled but remain in the browser tree.

  • The hou.ui.loadPackageArchive API can also be used to install an archive.

Package Archive Structure

Package archives are created with the following structure:

./{content folder name}/
./{content folder name}/{resource files}
./{content folder name}/{resource folders}/{resource files}
./{package file name}.json  
  • Content:

    • content folder name : The plugin folder containing the resources.

    • resource folders: Subfolders of Houdini resources.

    • resource files: Houdini resource files or other plugin files.

    • package file name: The plugin installation package.

Note

  • The content folder name can be optionally included in the archive as a root folder.

  • The package file is optional, if you choose not to provide a package file, Houdini creates one when the archive is installed.

  • The package file must be added at the root level of the archive, do not put the package file in a packages folder.

  • The resource files must be added in the plugin content folder as documented above.

  • File or folder links are not supported.

  • The plugin content folder structure is preserved in the package archive.

  • By default Houdini installs the package archive in the folder where the archive is located, the content folder is installed in the same directory.

  • The supported archive format is ZIP, other formats may be added in the future.

Plugin Folder Example

The following example shows how to setup a plugin content folder with an installation package file.

The viewer handle demo folder layout:

$HFS/packages/viewer_handle_demo/
    pythonX.Ylibs/
        move_tool_demo/
            utils.py
    scenes/
        move_tool_demo.hip
        viewer_handle_demo.hip
    toolbar/
        viewer_handle_demo.shelf
    viewer_handles/
        move_tool_handle.py
        viewer_handle_intro1.py
        viewer_handle_intro2.py
        viewer_handle_intro3.py

The installation package file adds the folder path to HOUDINI_PATH:

. cat $HFS/houdini/viewer_handles/viewer_handle_demo.json    
{
    "path" : "$HFS/packages/viewer_handle_demo"
}

Tree View

All loaded packages are listed in a tree view, each node representing a package you can expand to inspect its properties and settings.

The 2 columns on the right indicates various package states:

  • The package is located in a scannable folder and automatically loaded on startup.

  • The package is not located in a scannable folder and is set to reload on startup when the checkmark is ON. When OFF, the package will not be loaded on startup.

  • The package is locked and not editable. Packages located in $HFS/packages, for instance, are locked.

Tree Node

Package nodes in the tree view can be expanded with on the icon to inspect their properties and settings. Use SHIFT + to expand/collapse the node branch fully . Packages are active by default, click on the node icon to deactivate a package. Deactivating a package will unload the package but will not remove it from the tree. Click on the icon to activate the package again. Locked packages cannot be deactivated.

A package node will typically (but not always) contain the following information:

  • File path: The package file path.

  • enable: Set package as enabled if True.

  • load_package_once: Prevents a package from being loaded multiple times.

  • process_order: Specifies an integer value that Houdini can use for arranging the order of the packages to process in a package directory.

  • package_path: Scans package paths dynamically.

  • recommends: Checks specific package(s) availability without enforcing a dependency.

  • requires: Checks specific package(s) availability and enforces a dependency.

  • show: Set a package to be listed in the Package Browser window.

  • Environment variables: The list of environment variables set in the package.

  • Resources: A list of Houdini resources such as scripts, desktops, and digital assets, loaded by the package.

Drag and Drop

Drag and drop of files on the browser is supported. The following describes how to use drag and drop for loading packages and package archives.

File

Method

Notes

Package (.json)

Drag the package file over the browser and release the mouse button to load the package.

Archive (.zip)

Drag the archive file over the browser and release the mouse button, an Installation Package Archive dialog will open, select the installation folder and hit the Accept button to install the archive.

Archive (.zip)

ALT +

Hold the ALT key and drag the file over the browser and release the mouse button to install the archive directly under the file’s parent folder.

Console

The console window is used for logging messages like runtime errors, warnings and user messages.

Windows