Houdini Engine Plugin for Unreal Engine.
Update 3 of the Houdini Engine for Unreal for Houdini 20.0. The plugin is now linked to Houdini 20.0.688 / HAPI 6.2.0.
Source and binaries are included for: UE5.2, and UE5.3 on Windows, Mac OS (intel and Apple silicon).
Please note that the source code available in the 5.0 branch is compatible with UE 5.0, 5.1, 5.2, 5.3, and 5.4. Binaries for UE5.4 will be provided in the next release - as the plugin currently compiles but is untested with 5.4.
Also, please remember that the plugin's binaries AND source code are always available with the launcher/installer for a given version of Houdini. If you install or want to use a daily build of Houdini, please use the version of the plugin binaries/source code included with it.
New features / Changes:
Added support for Unreal 5.4. As mentioned above - the 5.4 plugin compiles but is currently not fully tested.
Added support for the plugin's content examples. The content examples are available as a content plugin that can be downloaded on their git repository: https://github.com/sideeffects/HoudiniEngineForUnreal-ContentExamples
Added support for baking outputs to a single actor rather than multiple actors. This is controlled by a setting in the Houdini Asset Component next to the bake setting.
Added support for baking of geometry collections.
Added buttons for selecting the temporary cook folder and bake folder.
Added a new Log Command: Houdini.DumpGenericAttribute This can be used to list all properties/generic attributes for a given class, listing the expected unreal_uproperty_XXX attribute names and types, and if the system supports it. Usage example: Houdini.DumpGenericAttribute StaticMesh
Improved the logic used for finding uproperty attributes.
Changed options for exporting layers from Unreal to Houdini to allow more control over which landscape layers are sent.
Improvements and bug fixes for ramp parameter details UI. The ramp curve editor can now be opened in an external window for easier use.
Fields in the parameter UI remain focused after an HDA is cooked, making it possible to edit and navigate the Unreal details UI using the keyboard only.
Nanite FallbackTargets are now automatically set for given Nanite Fallback Values.
Added support for setting the CenterAdjust property on a Spline Segment Mesh.
Bug Fixes:
Version 2.1.2 - Houdini 20.0.653
Update 2 of the Houdini Engine for Unreal for Houdini 20.0. The plugin is now linked to Houdini 20.0.653 / HAPI 6.2.0.
Source and binaries are included for: UE5.2, and UE5.3 on Windows. UE5.1 and UE5.2 on Mac OS. UE5.2 on Mac OS (Apple Silicon).
Please note that the source code available in the 5.0 branch is compatible with UE 5.0 , 5.1, 5.2 and 5.3.
Also, please remember that the plugin's binaries AND source code are always available with the launcher/installer for a given version of Houdini. If you install or want to use a daily build of Houdini, please use the version of the plugin binaries/source code included with it.
New features / Changes:
Bug Fixes:
Version 2.1.1 - Houdini 20.0.625
Update 1 of the Houdini Engine for Unreal for Houdini 20.0. The plugin is now linked to Houdini 20.0.625 / HAPI 6.2.0.
Source and binaries are included for: UE5.2, and UE5.3 on Windows. UE5.1 and UE5.2 on Mac OS. UE5.2 on Mac OS (Apple Silicon).
Please note that the source code available in the 5.0 branch is compatible with UE 5.0 , 5.1, 5.2 and 5.3.
Also, please remember that the plugin's binaries AND source code are always available with the launcher/installer for a given version of Houdini. If you install or want to use a daily build, please use the version of the plugin binaries/source code included with it.
New features / Changes:
Landscapes
Baking:
HoudiniAssetComponent
's GUID (if a custom bake name was not set in the output details panel or via attributes).
This makes the default bake name unique to that specific HoudiniAssetActor, preventing situations where baking could replace assets baked from different instantiations of the same HDA from different levels when using the default bake name.Skeletal Mesh:
Base.shp
and the capture pose data as Base.skel
.Animation:
Input:
Public API:
On Parameter/Input Change
, On Transform Change
and On Asset Input Cook
) of a HoudiniAssetActor to the Public API.
The AssetWrapper's set functions will now properly mark HDAs as modified if necessary.Bug fixes:
unreal_temp_folder
and unreal_output_name
.FSkeletalMeshImportData
(the source geometry), if available in the bulk data,
to Houdini via FMeshDescription
. This also fixes an issue where Skeletal Mesh UVs were not exported to Houdini correctly.unreal_instance
is set to a foliage type asset and not a static mesh),then baking will bake to a new foliage type asset if the cooked foliage type has been modified (for example, generic uproperty attributes are used to change properties of the cooked foliage type, or material overrides are applied).Version 2.1.0 - Houdini 20.0.506
First release of the Houdini Engine for Unreal for Houdini 20.0.
The plugin is now linked to Houdini 20.0.506 / HAPI 6.0.0.
Source and binaries are included for: UE4.27, UE5.2, and UE5.3 on Windows. UE4.27, UE5.1 and UE5.2 on Mac OS. UE5.2 on Mac OS (Apple Silicon).
Please note that the source code available in the 5.0 branch is compatible with UE 5.0 , 5.1, 5.2 and 5.3.
Compatibility changes:
Please note that some input types have been deprecated in the H20 plugin:
If you had HDAs using such inputs in the level, upgrading to the H20 plugin will automatically change your input types and options to the corresponding ones.
You will also receive deprecation warnings if you were using those deprecated input types with the Public API.
When upgrading from previous versions of the plugin (H19.5 and before), it is highly recommended that you delete the previous version of the Houdini Engine plugin installed on your project before upgrading to the H20 version, as some files have been removed.
A huge thanks in advance to all of you, for all the crazy things that you'll be creating with Houdini 20 and UE!
Version 2.0.19 - Houdini 19.5.752
Update 19 of the Houdini Engine for Unreal Plugin.
The plugin is now linked to Houdini 19.5.752 / HAPI 5.0.8.
Source and binaries are included for: UE4.27, UE5.2, and UE5.3 on Windows. UE4.27, UE5.1 and UE5.2 on Mac OS. UE5.2 on Mac OS (Apple Silicon).
Please note that the source code available in the 5.0 branch is compatible with UE5.0 , 5.1, 5.2 and 5.3.
Changes:
UI:
Inputs/Outputs:
Landscape/World Partition:
Other:
Bug fixes:
OnPostTOPNetworkCookDelegate
was not called.unreal_material
and unreal_material_instance
attributes are present, then empty string unreal_material
values would override non-empty string unreal_material_instance
values at the same index.unreal_split_attr
) could get assigned the same material, or incorrect materials, even if each split had a distinct material assigned via unreal_material
or unreal_material_instance
.InstantiateAsset
, CreateWrapper
and CreateEmptyWrapper
functions, as well as the Blueprint and C++ examples, about the Public API not managing the lifecycle of UHoudiniPublicAPIAssetWrapper
after creation, and the need to use a UProperty
/Blueprint variable to prevent garbage collection.UHoudiniInput
and UHoudiniInputObject
.Update 18 of the Houdini Engine for Unreal Plugin.
The plugin is now linked to Houdini 19.5.640 / HAPI 5.0.7.
Source and binaries are included for: UE4.27, UE5.1, and UE5.2 on Windows. and Mac OS.
Changes:
Added support for Unreal Engine 5.2
Various updates to the source code and includes to fix compile issues when building the plugin with no-pch/non-unity builds of UE5.2.
Added the ability to set a custom $HOME directory in the plugin settings. It is then used by HAPI, but also Houdini/Session Sync when using the "Open In" commands. This is helpful when having HE under source control, as it allows custom nodes to be detected properly.
Tags can now be modified via generic attributes on any type of actors, not just Landscapes. When modifying tags on actors, it is possible to modify the component tags by naming the attribute "unreal_uproperty_ComponentTagsXXXX".
Inputs now have a "rebuild" button next to the input type combobox, that allows you to force update/resend the input's objects.
Handles now display their name and type on the editor viewport.
Added support for Data Layers in Unreal 5.2 and later.
Added support for Material instances in landscapes.
Improved removal of existing foliage when baking. Only the instances baked by Houdini will be removed.
Fixed wrong transform being set for landscapes when using the old input system.
Fixed an issue where cooked landscapes would be deleted correctly.
Update Landscape imported in Unreal to work better with World Partitioned Levels. Support for World Composition removed in Unreal 5 versions of the plugin.
Stopped foliage removal dirtying all Instanced Foliage Actors in a scene
Fixed an issue World Partition Landscapes would be offset if partially loaded in Unreal.
Fixed incorrect material assignment when using instancers.
It is now possible to use/mix both material override attributes (unreal_materialX) and material instance attributes (unreal_material_instanceX) with instancers.
Fixed Houdini Asset Component properites not serializing correctly.
Fixed bug that caused incorrect vertex colors/alpha on imported Static Meshes.
Fixed bug that caused incorrect vertex colors overrides on Static Mesh Components.
Fixed an issue that caused mesh socket scale to be ignored when attachingActors. We now force the relative scale of the attached Actors to the scaledefined on the sockets.
Fixed potential crash with Toggle parameters and the PDG asset link.
Fixed an issue when importing BP as reference: We were only importing the BP's component as reference, not the BP itself.
Ported attribute transfer optimizations from Unreal 5.0 to Unreal 4.26 & 4.27
Fixed default object path parameters on OBJ HDA (lookatpath, lookupobjpath..) arent incorrectly considered as inputs anymore.
Fixed crash when using the new input system with UE5.2.
Fixed incorrect drawing of tabs parameters in UE5.
Fixed unnecessary error logs with input and parameter detail, physical materials.
Fixed unnecessary invalid session error logs when fetching license type beforestarting the session.
Fixed issues that caused transform handles to not handle rotations properly.
Fixed an issue that caused incorrect values being used when manually enteringscale/rotation for handles in the details panel.
Fixed generated material instances not always being properly baked for instancers.
Removed the "Update Input Landscape" feature as it was non longer needed/used. Please use Landscape Edit Layers instead.
Fixed a regression that caused a crash when using geometry inputs.
Update 17 of the Houdini Engine for Unreal Plugin.
The plugin is now linked to Houdini 19.5.569 / HAPI 5.0.7.
Source and binaries are included for: UE4.27, UE5.0, and UE5.1 on Windows. and Mac OS 11.
--- UE5.2 preview 1 binaries of the plugin for windows are also available for convenience --- --- The plugin hasn't been thoroughly tested on UE5.2 preview 1, use at your own risk ---
Changes:
Added missing support for Data Table output with PDG. (merged PR#235 on behalf of @ethan-tqa)
"Replace Previous Bake" will now remove foliage instances when the Foliage Type is specified for an instancer when baking.
Fixed crash when trying to repopulate foliage UI.
Fixed an issue where foliage would remain in Unreal after deleting an HDA output.
Fixed a bug that caused materials to be ignored on point instancers.
The Material Slot wasn't properly appended to mesh materials ([X]Material) when not importing the materials parameters.
Fixed potential crashes when using HoudiniAsset in BP.
Fixed an issue when using foliage in commandlets.
Removed unnecessary cook call with Houdini curves.
Fixed an issue where cooked landscapes in UE5 are not deleted when the HDA is recooked
Fixed an issue that caused landscape inputs to trigger unnecessary checkouts when reading landscape data.
Optimized string transfer to Houdini from Unreal. This significantly improves cooking times thanks to a much faster data transfer.
Fixed build errors with UE5.2 preview 1. The plugin's source code can now be built with UE5.2 preview1.
Version 2.0.16 - Houdini 19.5.534
Update 16 of the Houdini Engine for Unreal Plugin.
The plugin is now linked to Houdini 19.5.534 / HAPI 5.0.6.
Source and binaries are included for:
UE4.27, UE5.0, and UE5.1 on Windows. UE4.27, UE5.0 and UE5.1 on Mac OS 11. UE5.1 for Apple Silicon
Changes:
Added a new export option to inputs: "Export Material Parameters". When disabled, the plugin will not be sending each material parameter found in the input object's materials as attributes. This can help drastically reduce cook times when sending big meshes, with materials that have a lot of exposed parameters.
Data Table Input: enum values are now sent as strings, not ints.
Added support for all types of image packing (RGB, BGR, RGBA, ABGR, etc..) when creating textures from Houdini. This fixes a crash when trying to create a texture that wasn't packed as RGBA.
(UE5) Fixed regression that caused Foliage Types to be instantiated as meshes if the "unreal_foliage" attribute wasn't set.
(UE5) Fixed incorrect instances transforms when using Foliage (either by instancing FoliageTypes or by using the unreal_foliage attribute).
(UE5) Fixed regression that prevented ProxyComponents from being properly cleared.
Fixed an issue when baking Static Mesh (created from packed "one instance instancers"). It caused the first mesh to be baked multiple times, and the others to be ignored.
Fixed potential crashes when loading a new map.
Fixed potential ensure failures/crashes with the PDG Asset Link when baking to Actors.
Fixed regression that caused an infinite cook loop when using splines in world inputs.
Fixed a double transform issue when "import input as reference" is enabled.
Fixed a regression that caused the plugin to not automatically refine meshes when saving the level on World Partition World.
Fixed a regression that broke the "Proxy refinement by timer" option.
Fixed an issue that prevented Data Tables with only one row to be sent to Houdini.
Fixed world inputs ignoring changes in scale value on Spline Components.
merged PR#221 from @yuhe00: Fix compilation error when building for Android platform with clang 14.0.
merged PR#230 from @fullike: Fix baking fails if OutputComponents has no elements.
Version 2.0.15 - Houdini 19.5.493
Update 15 of the Houdini Engine for Unreal Plugin.
The plugin is now linked to Houdini 19.5.493/ HAPI 5.0.5.
Source and binaries are included for:
Changes:
Added support for UE5.1. Both UE5.0 and UE5.1 use the same source code/branch.
Added support for outputting Data Tables assets. See the documentation for more information.
Added a "Prefer Nanite Fallback Mesh" option to Geometry Inputs / NodeSync. If checked, the plugin will use the fallback mesh (proxy) for any Nanite mesh sent to Houdini.
World inputs now add the "unreal_level_path" and "unreal_actor_path" when sending their input objects as references.
Added support for Foliage in World Partition worlds.
Added support for specifying the material slot when using the unreal_material attribute with point instancers (unreal_instance). You can specify the material slot to override by adding its slot number to the attribute name: unreal_materialX.
When importing meshes to Houdini, we now prefix the unreal_material attribute string with the material slot index if the mesh uses more than one material. This prevents the plugin from merging material slots that use the same material, or the plugin reordering material slots.
Imported material parameters now also add their material slot number to the attribute name (unreal_material_X_PARAM_NAM). This prevents overwriting values when separate materials use a material parameter with the same name.
Bug Fixes:
Version 2.0.14 - Houdini 19.5.435
Update 14 of the Houdini Engine for Unreal Plugin.
The plugin is now linked to Houdini 19.5.435 / HAPI 5.0.1.
Source and binaries are included for UE4.26, UE4.27, and UE5.0, for both Windows and Mac OS 11.
Changes:
Added forward compatibility for UE5.1 to the 5.0 plugin source code. The 5.0 plugin source code can be used to build the plugin with UE5.1.
Fixed invisible colliders (collision_geoXXX groups) being ignored by MeshProxies if no visible/rendered mesh was present in the output. The ProxyMesh output UI will indicate if colliders were found (even if they are unused by Houdini Mesh Proxies).
Fixed an issue that caused Houdini-generated materials to appear white due to the emissive color.
Added support for the "emissive intensity" material parameter on Houdini Materials.
Improved positioning of the generated material nodes.
Added proper type conversions when using a data table as geometry input for Houdini assets. Numeric types, vectors, rotators, transforms, and colors are now converted into a corresponding Houdini number or tuple. Previously, all DataTable values were imported as string attributes.
Houdini Indie: Fixed a bug that caused the Input/Param/Handle UI to be displayed with only the Indie license warning even if no Inputs/Parms/Handles were present in the HDA.
Fixed a bug that caused the output details UI to show the previously refined StaticMesh after the HDA was recooked, and a new ProxyMesh was used instead. The output UI was displaying a "Bake" button instead of a "Refine" button, and pressing that Bake button would actually Bake the previous SM instead of refining and baking the newly generated proxy mesh. The output UI now properly displays the proxy mesh and refine button after cooking a previously baked HDA.