| On this page |
Tool and Selection Types ¶
The HDA’s Tool Type determines how selected asset and/or actors are wired into the inputs of the HDA during instantiation.
Tool Type |
Description |
|---|---|
Generator |
For tools that only generates geometry and does not take any inputs. No input assignment will take place during instantiation. |
Single |
For tools that have a single input. The selection will be merged in that single input. |
Multi |
For tools that have multiple inputs. The selected asset/actor will be applied to each input. |
Batch |
For tools that needs to be applied each time for each selected asset/actor. |
The Selection Type determines whether only selected actors, only selected assets, or both will be used when populating the inputs for the HDA according to the Tool Type.
Selection Type |
Description |
|---|---|
Content Browser and World |
Use both selected assets (from the Content Browser) and selected actors (from the Editor World) to populate inputs for the HDA. |
World Only |
Use only selected actors from the Editor World to populate inputs for the HDA. |
Selection Only |
Use only selected assets from the Content Browser to populate inputs for the HDA. |
Package Search Paths ¶
The HoudiniTools Panel makes use of the Package Search Path project setting to try and locate HoudiniTools packages. By default, the package search path is configured to only look for packages in /Game/HoudiniEngine/Tools. This package search path can be configured in the HoudiniEngine Plugin project settings.
A HoudiniToolsPackage asset can be stored either at the root of a search path (in which case you can only have a single package at the search path):
/Game/HoudiniEngine/Tools/
HoudiniToolsPackage
he_tool1
he_tool2
...or you can have multiple packages in immediate subdirectories:
/Game/HoudiniEngine/Tools/
Package1/
HoudiniToolsPackage
he_tool1
he_tool2
...
Package2/
HoudiniToolsPackage
he_tool3
he_tool4
...
...The HoudiniTools Panel will not search for HoudiniToolsPackage assets that are located more than a single directory deep at any given search path. If a subdirectory does not have a HoudiniToolsPackage asset, it will be ignored by the HoudiniTools Panel.
HoudiniTools Package ¶
A HoudiniTools Package consists of a mandatory HoudiniToolsPackage asset and one or more HDAs in the same folder (or in subfolders). The HoudiniToolsPackage asset describes categories and which HDAs in that package are included (or excluded) from each category. Only HDAs placed inside package directories will appear in the HoudiniTools Panel. HDAs may be organised in subdirectories as needed.
/Game/HoudiniEngine/Tools/
StudioTools/
HoudiniToolsPackage
PyroTools/
he_pyrotool1
he_pyrotool2
DestructionTools/
Explode/
he_destructiontool1
Deform/
he_destructiontool2
...
Categories may then be configured to match the whole package or specific subfolders. The same HDA may even appear in multiple categories.
Here follows a list of properties that can be configured for the HoudiniToolsPackage asset:
Settings |
Description |
|---|---|
Categories |
Array of category definitions |
Categories → include |
An array of patterns (relative asset paths) to match of HoudiniAssets that should be included in this category |
Categories → exclude |
An array of patterns (relative asset paths) to match of HoudiniAssets that should be excluded from this category |
External Package Dir |
A path that points to an external directory that may be used to import data from, or export data to |
Reimport Package Description |
When on, any external data for a HoudiniAsset in this package will be imported when the HoudiniAsset is reimported |
Export Package Description |
When on, external data for for a HoudiniAsset in this package will be exported when the HoudiniAsset is saved |
Reimport Tools Descritption |
When on, any external data for this HoudiniTools Package will be imported when the HoudiniAsset is reimported |
Export Tools Description |
When on, external data for this HoudiniTools Package will be exported when the HoudiniToolsPackage asset is saved |
When HoudiniAssets are triaged into categories,include rules are processed first. After a list of candidate HoudiniAssets have been collected for a particular category, the exclude rules are then applied to remove any matching HoudiniAssets from the category.
Note
Hidden Tools (tools that have been set as Hidden through the HoudiniTools Panel) will appear in the exclude list of the HoudiniToolsPackage to which the relevent HDA belongs.
User Categories Configuration ¶
Users can create their own categories that exist outside of HoudiniAssetPackages. To create a new user category through the HoudiniTools Panel (or to add a tool to an existing user category), see HoudiniTools User Categories section.
A single user category may include HDAs from multiple packages. A HoudiniToolsPackage asset needs to be selected for each HDA (or set of HDAs) that is included in the user category. The HoudiniTools Panel needs to know which package to use when applying the include and exclude rules for the user category.
Persistent Settings ¶
Persistent editor settings for the HoudiniTools Panel is stored in the Unreal project in the Saved\Config\<PLATFORM>\HoudiniEngine.ini file.
External Description Data ¶
External description data (JSON files and icons) are optional for both Houdini Assets and Houdini Packages.
HoudiniTools Package ¶
If a HoudiniToolsPackage asset has a valid value for its Location property, the HoudiniTools will attempt to locate a HoudiniToolsPackage.json file at that location on the filesystem for importing or exporting, depending on the settings in the HoudiniToolsPackage asset.
When reimporting a HoudiniToolsPackage asset, it will ingest a HoudiniAssetPackage.json at the configured Location (if the HoudiniToolsPackage settings allow it).
When saving the HoudiniToolsPackage asset, it will export a HoudiniAssetPackage.json description at the configured Location (if the HoudiniToolsPackage settings allow it).
An example of a HoudiniToolsPackage.json file:
{
"categories": [
{
"name": "(Geo) Deform",
"include": [
"deform/*"
],
"exclude": []
},
{
"name": "(Geo) Scatter",
"include": [
"scatter/*"
],
"exclude": [
"Scatter/he_geo_fill_scatter"
]
}
],
"export_package_description": true,
"reimport_package_description": false,
"reimport_tools_description": true,
"export_tools_description": false
}Note
The categories in the JSON file are stored as an array of key-value pair collections, where each collection describes a single category.
Houdini Assets ¶
When importing or reimporting a HoudiniAsset, the importer will look for an external .json file to use for description data ingest and, optionally a .png file to use as the HoudiniAsset’s icon (if the owning package settings allow it). When saving the HoudiniAsset, a .json description file will be generated (if the owning package settings allow it).
External data for HoudiniAssets are located by using the source asset’s filename and replacing the source asset’s extension (.hda, .hdanc, .hdalc, etc.) with .json to import description data for the asset. If the .json file does not contain a path to an icon image, the importer will look for an icon image with the same name as the source asset but with a .png extension.
An example of an external HoudiniTools package may look like:
C:/Project/StudioTools/
HoudiniToolsPackage.json
PyroTools/
he_pyrotool1.hda
he_pyrotool1.json
he_pyrotool1.png
he_pyrotool2.hda
he_pyrotool2.json
he_pyrotool2.png
DestructionTools/
Explode/
he_destructiontool1.hda
he_destructiontool1.json
he_destructiontool1.png
Deform/
he_destructiontool2.hda
he_destructiontool2.json
he_destructiontool2.png
...Note
All external description files (HoudiniToolsPackage.json, HDA .json files and HDA .png) are all optional.
An example of an HDA .json file, followed a description of the fields:
{
"target": [
"unreal"
],
"name": "Bend and Twist",
"toolType": "GENERATOR",
"toolTip": "he_geo_bend",
"UE_SelectionType": "All",
"helpURL": "",
"iconPath": "C:/Users/User/Downloads/thrust-bend.png"
}Key |
Description |
|---|---|
target |
A list of applications for which this HDA is intended. |
toolType |
Possible values are: |
toolTip |
The description associated with the HDA (typically displayed in the HoudiniTools Panel) |
UE_SelectionType |
Possible values are
|
helpURL |
The URL for more help for this HDA |
iconPath |
The path to the icon associated with this HDA. This path can be either absolute or relative to the location of the |