Houdini Engine for Unreal
 All Files Pages
Special Attributes and Groups

Certain special groups and attributes are used when marshalling data between Houdini and Unreal.

See the referenced topics for more details.

Houdini to Unreal

This table lists special attributes which will be recognized when marshalling data from Houdini to Unreal.

Attribute Name Owner Type Topic Description
unreal_instance point, detail string Instances Unreal path of an Asset to instance at the given owner transform.
unreal_split_instances detail any Instances Instances should be split into StaticMeshComponents instead of one UInstancedStaticMeshComponent.
unreal_instance_color prim float[4] Instances Use with unreal_split_instances to specify a per-instance color to override the UStaticMeshComponent vertex colors.
unreal_material prim, detail string Materials Unreal path of a Material asset to apply to a part.
unreal_face_material prim, detail string Materials Deprecated: use unreal_material instead.
unreal_material_hole prim, detail string Landscapes Unreal path of a Material asset used for Landscape holes.
unreal_material_instance prim, detail string Material Instances Unreal path of a Material asset to create an instance of.
unreal_material_hole_instance prim, detail string Material Instances Unreal path of a Material asset to create an instance of, to be used for Landscape holes.
unreal_face_smoothing_mask prim int Materials Mesh smoothing mask data.
unreal_lightmap_resolution any int Meshes Lightmap resolution for the mesh component.
unreal_generated_mesh_name any string Meshes Name to use for the mesh component.
unreal_landscape_layer_nonweightblended prim string Landscapes Names of the heightfields masks separated by spaces.
unreal_uproperty_* detail, prim int/float/string Generic UProperty Attributes Attribute prefix used to modify UProperties.
unreal_material_parameter_* detail int/float/string Material Instances Attribute prefix used to modify material instance parameters.
unreal_bake_folder detail string Baking Outputs Unreal path of a Folder used to override the default Bake folder for this asset.
mesh_socket_name point string Mesh Sockets Name of a mesh Socket generated by Point Groups.
mesh_socket_tag point string Mesh Sockets Tag of a mesh Socket generated by Point Groups.
mesh_socket_actor point string Mesh Sockets Name of an Actor to be automatically attached to a socket generated by Point Groups.
mesh_socketX_pos detail float[3] Mesh Sockets Vector3 representing a Mesh Socket's location.
mesh_socketX_rot detail float[4] Mesh Sockets Quaternion used for a Mesh Socket's location.
mesh_socketX_scale detail float[3] Mesh Sockets Vector3 representing a Mesh Socket's Scale.
mesh_socketX_name detail string Mesh Sockets Name of a generated Mesh Socket.
mesh_socketX_tag detail string Mesh Sockets Tag of a generated Mesh Socket.
mesh_socketX_actor detail string Mesh Sockets Name of an Actor to be automatically attached to a socket.
lod_screensize detail, prim floats Level of Details Screensize values for the LODs generated by the current assets.

Setting up those attributes on your asset will allow you to control and override some properties of the generated Unreal geometry.

Please consult the corresponding Topic for more details.

Unreal to Houdini

This table lists special attributes which are created by the plug-in when marshaling data from Unreal to Houdini.

Attribute Name Owner Type Topic Description
unreal_material prim string Materials Unreal path of the Material applied to the mesh
unreal_material_hole prim, detail string Landscape Inputs Unreal path of the Landscape hole Material used by the Landscape
unreal_face_smoothing_mask prim int Materials Mesh smoothing mask data values on the mesh's faces.
unreal_lightmap_resolution detail int Meshes Mesh component lightmap resolution if not set to default
unreal_vertex_index point int2 Landscape Inputs Component vertex indices (indices of vertices within the grid - x,y)
unreal_input_mesh_name prim string Geometry Inputs Unreal path of the mesh uasset plugged to the input
unreal_input_source_file prim string Geometry Inputs The source path of the uasset plugged into the input (file path to .fbx for example)
unreal_lightmap_color point float4 Landscape Inputs Landscape lightmap color value

These attributes will be available in Houdini when using Inputs to marshall data from Unreal to Houdini.

These Standard Houdini Attributes will generally also be available: position (p), vertex colors (Cd, Alpha), normals (N) and UV sets (uv, uvX).

You can easily see these attributes and their values by debugging the internal Houdini Scene (File > Open Scene In Houdini) after initializing your asset's Inputs.

Groups

Some special group names have naming schemes which specify generation behavior when marshalling data from Houdini to Unreal. See the referenced topics for details on how each works.

Group Name Topic Description
socket_* Mesh Sockets Prefix used for adding sockets
collision_geo_* Complex Collisions Prefix used for collision geometry generation (invisible)
rendered_collision_geo_* Complex Collisions Prefix used for visible collision geometry generation
collision_geo_ucx_* Convex Collisions Prefix used for UCX collision geometry generation (invisible)
rendered_collision_geo_ucx_* Convex Collisions Prefix used for visible UCX collisions generation
collision_geo_simple_* Simple Collisions Prefix used for simple collision generation (invisible)
rendered_collision_geo_simple_* Simple Collisions Prefix used for rendered simple collision generation
lod_* Level of Details Prefix used for defining a Mesh's LOD level

Standard Houdini Attributes

Certain standard Houdini attributes are used when marshaling data between Houdini and Unreal.

Attribute Name Description
instance For object-level instancing, See Instances
p position
rot rotation
scale scale
pscale uniform scale
Cd color
Alpha opacity
N normal
uv uv
uvX additionnal uv channels X from [2..8]
Note
Since Houdini 16.5, uv SOP nodes allow you to change the attribute name used for storing the uvs. These attributes are supported by the plug-in, and will be converted to uvs as long as the total number of uv attributes doesn't exceed the MAX_STATIC_TEXCOORDS value in Unreal (8 by default).
The transform of the Houdini Asset in Unreal is available on the asset's parent object transform in Houdini. For example, you could obtain the X Position by using the following python expression in your HDA: hou.parent().worldTransform().extractTranslates('trs').x()

Generic UProperty Attributes

The aim of this system is to allow you to modify any available property in the objects and meshes generated by the plug-in by using generic attributes. As not all the properties in components generated by the plugin are available to be set through the details panel, this system allows you to preset these properties through the use of attributes.

To use it, add a primitive or detail attribute to your HDA starting with unreal_uproperty_, then append to it the name of the uproperty you wish to modify. Houdini Engine will then try to find the uproperty corresponding to the attribute in the generated mesh components, and set that property's value to the one you specified.

For example, if you want the static mesh component generated by your asset to have "Simulate Physics" property activated, add a detail attribute called "unreal_uproperty_SimulatePhysics", and set its value to 1. The static mesh generated by your asset will now have the "Simulate Physics" property enabled.

The uproperty attributes can be either float, integer or strings. The plug-in will always try to convert the attribute's value to the uproperty's type.

For example, the boolean uproperty "UseEmissiveForStaticLighting" can be set to true by using an int attribute set to 1, a float attribute set to 1.0 or a string attribute set to "true" if the attribute is named unreal_uproperty_UseEmissiveForStaticLighting.

Vector Uproperties, like "Center Of Mass Offset", can be set using an attribute of size 3.

Correspondance between Uproperties and the attributes are done using either the uproperty's name (the name of the uproperty in the source code) or it's display name without space (the name used in the details panel).

The "Center of Mass Offset" property can for example, be modified either by using an attribute called unreal_uproperty_centerofmassoffset (using the display name) or unreal_uproperty_comnudge (using the uproperty name).

The Generic UProperty attribute system was introduced in the Unreal plug-in with Houdini 16.0.674.