On this page

The license products are ordered based on a hierarchy. The hierarchy is based on the financial cost and features available for that product (i.e. FX > Core > Engine). The system works based on a list of lists. Each sub list represents a license mode (Commercial, Education, Indie, Non Commercial). The order of the lists also tells hserver which are more important and which are less important (the first sublist being the most important). The order of the sublists are [Commercial, Education, Indie, Non Commercial].

Hython License List
[
[Engine, Core, FX],
[Engine EDU, EDU],
[Engine Indie, Indie],
[Apprentice]
]

License Mode

License List

Commercial

Engine, Core, FX

Education

Engine EDU, EDU

Indie

Engine Indie, Indie

Apprentice

Apprentice

In this example the list of lists can be transformed into [Engine, Core, FX, Engine EDU, EDU, Engine Indie, Indie, Apprentice] as another way of thinking about the license checkout order. If we take a closer look at the Commercial mode list for hython we have [Engine, Core, FX]. Engine is listed first because its the best license type that suits the application and it also happens to be the cheapest so most customers will want to use up all of these licenses before trying Core or FX. Since FX is the most expensive and isnt exactly meant for hython but can be used to run hython its placed last as most customers will only want to use this as a last resort. Each list within the main list is for each of the license modes and the items within that list are the individual licenses order by their hierarchies based on the application.

Note

You can list any license type to check or disable but it will have no effect if the product doesn’t use that license. For example, you can add --check-license=Karma-Render for the app houdini but it will have no effect as houdini cannot run off a karma license.

Product Exchanging

SideFX license system is per machine not per application. What this means is that if youre running two Houdini FX applications only one FX license will be checked out for that application. Additionally, as applications can run off several different licenses types the Houdini Server can coordinate so that we use the fewest licenses possible. Essentially hserver will checkout and release licenses on your behalf to ensure the fewest and best licenses are checked out on your machine at any given time. Below is an example of this behaviour.

  1. Houdini Core is opened. Checks out a Core license.

  2. Houdini FX is opened. Checks out an FX license. The core license is returned and the Houdini Core application is running off of the FX license.

  3. Houdini FX is closed. A Core license is checked out and the FX license is returned. The Core application is now running off of the Core license.

Command line options

Note

All command line options here apply to the application and not to hserver.

--list-license-checks

With all of these options its important to be able to view the list of licenses that the application will try to ask for. This option will have the application print out the list of lists used to request a license from hserver. If an entry has a - character in front of it that means its currently being omitted from the request to hserver. To enable a license to be checked add its internal name to --check-licenses. To disable a license from being checked add its internal name to --skip-licenses.

--check-licenses

Some applications may have extra licenses that it can check but may not be checked by default. In the case of Houdini Core, it does not check Houdini FX licenses and with --check-licenses="Houdini-Master" Houdini Core will turn on checking Houdini FX. To add extra licenses to check add ',' between license names.

Note

Some applications cannot checkout specific licenses regardless of this option. For example, Houdini FX cannot checkout a Houdini Engine license.

Tip

If running Houdini Core and Houdini FX at the same time is common its recommended to add --check-licenses="Houdini-Master" to Houdini Core environment variable. See below for details.

--skip-licenses

With some setups it might be desired to skip certain licenses for a number of different reasons. A studio might reserve FX licenses for specific roles or projects and might want everyone else to use Core in the meantime. In some cases it might make sense that an artist never wants to grab a Houdini Non Commercial license. With this option specific licenses can be skipped. The syntax for this option is --skip-licenses="Houdini-Non-Commercial" with , being the separator between license names.

--skip-license-modes

This option allows entire license categories to be skipped when requesting a license. This option can be handy when a user does not want to checkout a non-commercial license. commercial, education, indie, and apprentice are the available options.

--check-license-modes

This option is only useful if a license mode needs to be reverted from a previous --skip-license-modes option. This has the same options available as --skip-license-modes.

Environment variables

Since this system uses the application to dictate the license behavior each application has its own environment variable for adding application wide license options. When a set of licensing behaviors is desired for all applications of a specific type (i.e. Houdini Core) the applications license environment variable can be used. The contents of these environment variables is the exact same as the command line options for the application. As an example if every Houdini Core should check for Houdini FX licenses then environment variable would be HOUDINI_CORE_LIC_OPT="--check-licenses=Houdini-Master".

Tip

The environment variable for the application is processed and then the command line options are processed. When the command line options get processed it may overwrite any options used in the environment variable.

Environment Name

Applications

HOUDINI_LIC_OPT

Houdini

HOUDINI_CORE_LIC_OPT

Houdini Core

HOUDINI_FX_LIC_OPT

Houdini FX

HOUDINI_INDIE_LIC_OPT

Houdini Indie

HOUDINI_NC_LIC_OPT

Houdini Apprentice

HOUDINI_EXPER_LIC_OPT

Houdini Experimental

HOUDINI_PDG_LIC_OPT

PilotPDG

HOUDINI_HYTHON_LIC_OPT

Hython and Hbatch

HOUDINI_MANTRA_LIC_OPT

Mantra

HOUDINI_KARMA_LIC_OPT

Karma

HOUDINI_MPLAY_LIC_OPT

Mplay

HOUDINI_UNREAL_PLUGIN_LIC_OPT

Unreal Plugin

HOUDINI_UNITY_PLUGIN_LIC_OPT

Unity Plugin

HOUDINI_PLUGIN_LIC_OPT

All Supported Plugins (i.e. Maya).

When an application is started the application specific license environment variable is checked and then the command line options are checked. For example if Houdini Core is launched the HOUDINI_CORE_LIC_OPT environment variable is checked and then the command line options are checked for license options.

Guide to moving to Houdini 19 Licensing System

Note

Since these two systems are fundamentally different this guide is only a guide to give an approximately similar behavior in licensing and should not be taken as a way to get the exact licensing behavior from the previous system.

With the new features and change in how this system works there are some items that you should be aware of prior to switching over to this system. The biggest change is all previously existing licensing environment variables and options have been deprecated with this release in favor of the options provided by this new system. Since this system is a fundamental change in how an application can control its licensing it is not possible to change the licensing system at runtime and can only be selected at startup.

Warning

All previously existing licensing options (i.e. environment variables) have been deprecated in this release and will be fully removed in the next release.

The tables below give a rough guide for converting some environment variable values over to Houdini 19 licensing. Some values have been omitted as they no longer apply with this new system.

HOUDINI_SCRIPT_LICENSE

Houdini 19 Environment Options

hbatch -R

Add --skip-licenses="Houdini-Escape,Houdini-Master"

PDG_LICENSE_MODE

Houdini 19 Environment Options

pdg_only

No action should be taken as this just uses the existing pdg license list when the application uses one (i.e. PilotPDG).

engine_only

Add --check-licenses="Houdini-Engine" and --skip-licenses="Houdini-Escape,Houdini-Master".

houdini_core_only

Add --check-licenses="Houdini-Escape" and --skip-licenses="Houdini-Engine,Houdini-Master".

houdini_fx_only

Add --check-licenses="Houdini-Master" and --skip-licenses="Houdini-Escape,Houdini-Engine".

Houdini command line

Houdini 19 Options

-apprentice

Add --skip-license-modes=commercial,education,indie

-indie

Add --skip-license-modes=commercial,education,apprentice

-core

Add --check-licenses="Houdini-Escape", --skip-licenses="Houdini-Master, and --skip-license-modes="education,indie,apprentice"

Houdini 19 licensing goes from hserver and a complex network of environment variables controlling behavior to the application deciding the full list of licenses that it should be allowed to use. As such hserver options --relax-non-graphical/-g and --render-only/-n are no longer used with this system. These options can still be set for applications using the old system but will simply be ignored for this system as they are not necessary as the application controls the licensing behavior for Houdini 19 licensing.

Houdini 19 licensing uses HTTP(S) exclusively and will make NO no attempt at providing any backwards compatibility in behavior of the old system or in communication protocol with the old system. Hserver is able to run using both systems at the same time but upgrading/downgrading will be disabled as hserver is unable to make a decision on what to do as older systems will not provide the necessary information.

Installation and Licensing

Installation

Licensing

Specific Setups

Products