Hello guys,
I noticed that the License Manager changed in H21, so, here is a new tutorial about how to install a Houdini License in Houdini 21:
I hope it can be useful for someone else, cheers!
Found 14519 posts.
Search results Show results as topic list.
Houdini Lounge » Tutorial: How to install Houdini 21 License
-
- cdordelly
- 208 posts
- Offline
Technical Discussion » Crowds - Pop Steer Path, a different path per agent
-
- juri0juli
- 11 posts
- Offline
Hello,
Is it possible specify that an agent can only walk on a specific path? In my example, I generated a bunch of polylines I want to use as paths. The first point of each path was used for the crowd source. The paths were then all merged and fed as an input into the Pop Steer Path. This of course creates a problem that if paths are intersecting or going in a similar direction, even though the agents all started on their own path, they will veer off onto another (which is not what I am after).
I kind of got a similar thing to work here, where I created an attribute path_pos so I can query how far along a path an agent is. But I am not sure how to 'split' out a prim inside the Pop Steer Path vexpression like I do here in a pop wrangle.
I also tried using the Curve Point Method on the Pop Steer Path instead, but I seem to end up with even more wandering agents, most likely due to the spaghetti mess of paths shown here.
Is it possible specify that an agent can only walk on a specific path? In my example, I generated a bunch of polylines I want to use as paths. The first point of each path was used for the crowd source. The paths were then all merged and fed as an input into the Pop Steer Path. This of course creates a problem that if paths are intersecting or going in a similar direction, even though the agents all started on their own path, they will veer off onto another (which is not what I am after).
I kind of got a similar thing to work here, where I created an attribute path_pos so I can query how far along a path an agent is. But I am not sure how to 'split' out a prim inside the Pop Steer Path vexpression like I do here in a pop wrangle.
I also tried using the Curve Point Method on the Pop Steer Path instead, but I seem to end up with even more wandering agents, most likely due to the spaghetti mess of paths shown here.
if (i@path_bound == 0) { // Find the nearest path at the *spawn* position (frame-locked input 2) int p; vector uv; vector spawnP = point(2, "P", @ptnum); xyzdist(1, spawnP, p, uv); // search all paths once i@path_prim = p; // remember which path matches this agent i@path_bound = 1; } // Now compute closest uv on corresponding prim only, at current position int p_now; vector uv_now; float d = xyzdist(1, sprintf(“%d”, @path_prim), @P, p_now, uv_now); // the prim input must be a string according to documentation float u = clamp(uv_now.x, 0.0, 1.0); f@pathpos = u;
Edited by juri0juli - Sept. 1, 2025 09:41:06
Technical Discussion » How can I use the node information panel of houdini21 back t
-
- laobai
- 1 posts
- Offline
How can I use the node information panel of houdini21 back to the old version?HOUDINI_USE_OLD_INFO_WINDOW=1 is no longer usable
Technical Discussion » Metahuman's animated maps with Karma/Solaris
-
- ahassan
- 7 posts
- Online
Hi Everyone,
I would like to ask for help with the new Metahuman for Houdini plugin/workflow.
I noticed the animated maps (after animated the head with it's sliders )are working only in the viewport , but not under Solaris/Karma.
When I use SOP create to build up Metahuman the datas are written to the primvars:material_override as one string, containing the params and their values.
Is there an easy way to connect(and tokenize)these values to their respective shader parameter (through Edit Properties node or something like that)to drive the shader with the animated maps? Now it is not renderable only the default maps are visible on the Metahuman heads.
Thanks in advance,
Ashraf
I would like to ask for help with the new Metahuman for Houdini plugin/workflow.
I noticed the animated maps (after animated the head with it's sliders )are working only in the viewport , but not under Solaris/Karma.
When I use SOP create to build up Metahuman the datas are written to the primvars:material_override as one string, containing the params and their values.
Is there an easy way to connect(and tokenize)these values to their respective shader parameter (through Edit Properties node or something like that)to drive the shader with the animated maps? Now it is not renderable only the default maps are visible on the Metahuman heads.
Thanks in advance,
Ashraf
Technical Discussion » Modify SOP geometry UV from COPs
-
- healkeiser
- 1 posts
- Offline
Hi all!
I have a quick question - I'm using a slap comp node inside COPs to retrieve a UV Render Var (AOV), which is generated from the camera projection onto the mesh.
I'd like to use this UV to modify the UV attribute from a SOP geometry imported inside that same COPs network, in order to apply a texture within that UV space; anyone would have on idea on how to achieve this?

I have a quick question - I'm using a slap comp node inside COPs to retrieve a UV Render Var (AOV), which is generated from the camera projection onto the mesh.
I'd like to use this UV to modify the UV attribute from a SOP geometry imported inside that same COPs network, in order to apply a texture within that UV space; anyone would have on idea on how to achieve this?
Technical Discussion » New COP: Import and Export sprite sheet?
-
- raincole
- 682 posts
- Offline
By "sprite sheet" I just mean the typical rectangle sprite sheets used in 2D games:

I'd like to import it in COP so it's "time dependent" (in other words, it's animated when you play Houdini's timeline), apply some COP filter and export it as a sprite sheet again.
I guess the import part can be done by transform 2D with
And how to export the sheet again?
I'd like to import it in COP so it's "time dependent" (in other words, it's animated when you play Houdini's timeline), apply some COP filter and export it as a sprite sheet again.
I guess the import part can be done by transform 2D with
$FF
? But does it mean the "outside" pixels are still alive and all the filters will apply to the whole sheet, causing performance issues?And how to export the sheet again?
Technical Discussion » Failed to install hserver. Process exited with code -1073741
-
- square01J
- 5 posts
- Offline
Trying to install houdini launcher ,
it was working before I've tried to update the launcher , now It won't work anymore.
The log file doesn't exist
Output folder: C:\Program Files\Side Effects Software\Launcher Extract: Uninstall Houdini Launcher.exe Extracting files... Installing Microsoft C Run-Time Libraries (this could take several minutes) Installing Houdini Server... Failed to install hserver. Process exited with code -1073741502. See log file "C:\Program Files\Side Effects Software\Launcher\logs\install-hserver.log" for details.
Thank you
Johnny
it was working before I've tried to update the launcher , now It won't work anymore.
The log file doesn't exist
Output folder: C:\Program Files\Side Effects Software\Launcher Extract: Uninstall Houdini Launcher.exe Extracting files... Installing Microsoft C Run-Time Libraries (this could take several minutes) Installing Houdini Server... Failed to install hserver. Process exited with code -1073741502. See log file "C:\Program Files\Side Effects Software\Launcher\logs\install-hserver.log" for details.
Thank you
Johnny
Technical Discussion » How to achieve "holdout" in vk viewport?
-
- GreenPitaya
- 39 posts
- Offline
Solaris and Karma » Rendervars from layerstack assets
-
- daveborck
- 28 posts
- Offline
Hi!
I often need to create in shots custom AOVs based on shaders coming along with assets loaded through the layer stack. What's the best way to create RenderVars for them?
Can assets referenced or sublayered and often payloaded deeper in shot hierarchy broadcast Render Vars to /Render/Products/Vars hierarchy?
Looking for best practices.
Cheers
Dawid
I often need to create in shots custom AOVs based on shaders coming along with assets loaded through the layer stack. What's the best way to create RenderVars for them?
Can assets referenced or sublayered and often payloaded deeper in shot hierarchy broadcast Render Vars to /Render/Products/Vars hierarchy?
Looking for best practices.
Cheers
Dawid
Houdini Indie and Apprentice » Feather bending
-
- Integral3D
- 13 posts
- Offline
Hello! I wanted to try the Feathers for the first time but im struggling to understand how to control the barbs relative to the stem. Mainly when it comes to bending. In this examlpe here the bend vector N_orient looks correct and works when the feathers are aligned to the world, but as soon as they are oriented outside the world axis they behave very weirdly. Can someone help me understand why this doesnt work.
Technical Discussion » A way to promote the 3D transform COP handles in HDA?
-
- GrahamDClark
- 282 posts
- Offline
Is there a way to promote the 3D transform handles from a 3D Transform COP inside an HDA?
So user selects the HDA, and the internal transform handles work?
Python states?
Thanks, Graham
So user selects the HDA, and the internal transform handles work?
Python states?
Thanks, Graham
Technical Discussion » No status bar update while cooking on Arch Linux
-
- benC
- 52 posts
- Offline
Hi! I notice my status bar does not update when Houdini is cooking, any ideas what could be the cause?
Desktop environment: KDE Plasma 6.4.4
Kernel Version: 6.16.3-2-cachyos(64-bit)
Graphics Platform: X11
GPU: Tried both integrated AMD GPU and discrete NVIDIA GPU
Tested Houdini versions: 21, 20.5
Platform Build: linux-x86_64-gcc11.2
Python Version: 3.11
Qt Version: 6.5.3
Viewport renderer: Vulkan
Desktop environment: KDE Plasma 6.4.4
Kernel Version: 6.16.3-2-cachyos(64-bit)
Graphics Platform: X11
GPU: Tried both integrated AMD GPU and discrete NVIDIA GPU
Tested Houdini versions: 21, 20.5
Platform Build: linux-x86_64-gcc11.2
Python Version: 3.11
Qt Version: 6.5.3
Viewport renderer: Vulkan
Technical Discussion » info node in houdini 21
-
- FaddySaeed
- 1 posts
- Offline
in houdini 21 node info panel:
how can we select all the errors all at once like previous houdini versions?
thank you
how can we select all the errors all at once like previous houdini versions?
thank you
Houdini Indie and Apprentice » Vellum hair flickering shadows with Polywire
-
- dhuiting
- 43 posts
- Offline
Hi All!
I am creating grass using Vellum Hair via this tutorial: https://www.youtube.com/watch?v=QlX7_okxOJA [www.youtube.com]
The shadows on the grass texture flicker. I noticed he doesn't have the flickering shadows like I do.
I have the grass tapering using a uv texture with rows and columns post-sim and then a wrangle with:
f@u = v@uv.x;
f@width = chramp("remap", f@u) * ch("size");
This wrangle controls the grass taper.
Not sure if I can do some vellum post process or if I have to re-sim with the polywire before the vellum solver instead of after, or if its a normals issue, or using the uv texture post-sim, or what.
Attached is a video of the problem, a screenshot of the nodes, and a .hiplc file. If possible to reply with a .hiplc file as well would be much appreciated.
Thanks!
I am creating grass using Vellum Hair via this tutorial: https://www.youtube.com/watch?v=QlX7_okxOJA [www.youtube.com]
The shadows on the grass texture flicker. I noticed he doesn't have the flickering shadows like I do.
I have the grass tapering using a uv texture with rows and columns post-sim and then a wrangle with:
f@u = v@uv.x;
f@width = chramp("remap", f@u) * ch("size");
This wrangle controls the grass taper.
Not sure if I can do some vellum post process or if I have to re-sim with the polywire before the vellum solver instead of after, or if its a normals issue, or using the uv texture post-sim, or what.
Attached is a video of the problem, a screenshot of the nodes, and a .hiplc file. If possible to reply with a .hiplc file as well would be much appreciated.
Thanks!

3rd Party » CamRig Pro - One-Click Python advanced camera rig
-
- SM Tools
- 3 posts
- Offline
CamRig Pro
A dynamic camera system for Houdini, designed for fast setups,
flexible rig modes, and multi-renderer DOF management.
Get it here: CamRig Pro [shirmanor.gumroad.com]
Features
Requirements
- Houdini 20.5+
- Python 3.11
Included
- CamRig Pro Python tool
- Instructions for use inside Houdini
- Compatible with Redshift, Karma, and Mantra




https://forums.odforce.net/uploads/monthly_2025_08/m3.png.24b2eb7819b11947dd175e27a0223e64.png [forums.odforce.net]

A dynamic camera system for Houdini, designed for fast setups,
flexible rig modes, and multi-renderer DOF management.
Get it here: CamRig Pro [shirmanor.gumroad.com]
Features
- One-click creation of a complete camera hierarchy
- 13 Lens Presets
- 3 Render Engines - Redshift, Mantra & Karma
- Supports both OBJ and SOP-based look-at targets
- Preserves camera orientation and position when switching targets
- Three rig modes:
- Rig – dolly, truck, pedestal, pan, tilt, roll
- Manual – direct XYZ transforms with the CamRig Pro null
- Orient to Path – align and animate the camera along curves
- All rig modes support look-at targets and focus nulls
- Rig mode has an added Parent to Target mode for camerawork base around a moving target
- DOF controls for Redshift, Karma, and Mantra (focus distance, aperture for Karma/Mantra Only)
- Generates renderer-specific ROPs when selected (Redshift, Karma, or Mantra)
- Import to Solaris
- Auto-assigns the camera to the scene viewport
- Supports multiple rigs with auto-numbering and non-destructive setup
- Utility buttons: reset transforms or clear objects using Zero All & Clear Target/Focus + Global Reset buttons
- Fully written in native Python — no HDAs or external dependencies making it easy to share
- Shelf/Tab menu integration for one-click access inside Houdini
- Includes 2 optional custom node shapes, CamRig Pro node and a minimal connecter
Requirements
- Houdini 20.5+
- Python 3.11
Included
- CamRig Pro Python tool
- Instructions for use inside Houdini
- Compatible with Redshift, Karma, and Mantra




https://forums.odforce.net/uploads/monthly_2025_08/m3.png.24b2eb7819b11947dd175e27a0223e64.png [forums.odforce.net]



Edited by SM Tools - Aug. 27, 2025 22:30:13
News » SideFX offices closed Labour Day Sept.1st
-
- chrism
- 2596 posts
- Offline
Hidey ho! Just a heads up that SideFX employees of the Canadian and American persuasions will be away this coming Monday, Sept.1st, for Labour Day. Ironically, we won't be doing any labour at all.
We'll be back on Tuesday, at which point, so will the daily builds of Houdini 21!
We'll be back on Tuesday, at which point, so will the daily builds of Houdini 21!
Edited by chrism - Aug. 27, 2025 15:37:23
Solaris and Karma » AddTargets() in Sdf API?
-
- Cicuta
- 103 posts
- Offline
Given: A primitive lop that creates an over of a renderproduct prim. It generates it with the orderedVars relationship. Later down the stream in a different layer, in a python lop I set the targets of the orderedVars rel via AddTargets(). The usd looks something like this:
How could I do this with the Sdf API with editableLayer()? I would go on to do something like:
But the moment you use Sdf.RelationshipSpec the resulting usd will have this extra line: "custom rel orderedVars"
I don't know how AddTargets() is doing it, but I would like to know how to achieve the same thing with the Sdf. API.
Thanks in advance!
over "Render" { over "Products" { over "data" { append rel orderedVars = [ </Render/Products/Vars/rv0>, </Render/Products/Vars/rv1>, ] } } }
How could I do this with the Sdf API with editableLayer()? I would go on to do something like:
productprim_spec = Sdf.CreatePrimInLayer(layer, Sdf.Path(product_path)) orderedVars_spec = Sdf.RelationshipSpec(productprim_spec, 'orderedVars') orderedVars_spec.targetPathList.Append(Sdf.Path(var_path))
But the moment you use Sdf.RelationshipSpec the resulting usd will have this extra line: "custom rel orderedVars"
over "Render" { over "Products" { over "data" { custom rel orderedVars append rel orderedVars = [ </Render/Products/Vars/rv0>, </Render/Products/Vars/rv1>, ] } } }
I don't know how AddTargets() is doing it, but I would like to know how to achieve the same thing with the Sdf. API.
Thanks in advance!
Edited by Cicuta - Aug. 27, 2025 06:00:39
Houdini Engine for Unreal » I finally made a game with just Houdini and Unreal
-
- Igor Backstrom
- 41 posts
- Offline
I solo-dev a game. And it was a challenge to use only Houdini and UE.
All assets were done in geometry generators (basically booleans). Trees and other geometry as well. Was a challenge but pipeline is working.
Game link [store.steampowered.com]
All assets were done in geometry generators (basically booleans). Trees and other geometry as well. Was a challenge but pipeline is working.
Game link [store.steampowered.com]
Edited by Igor Backstrom - Aug. 27, 2025 09:14:58
Solaris and Karma » Randomizing primvar values, which is the best method?
-
- jzarzoso
- 2 posts
- Offline
Hello. I load a USD file into Solaris (Houdini 20.5), using a Sublayer or Asset Reference LOP node. Now i want to randomize the values of some of the primvars in that USD. Ideally this is a one and done thing, i don't need the values to be recomputed until I want to do it again. The issue I'm having is that, if I implement that logic in a shelf tool or Python panel, the values are modified, but the renderer (Karma in this case) is not aware of those changes, and I cannot see the modifications in the final rendered image.
Here's a short code snippet of what I'm trying to do:
Running this code in a shelf tool or Python panel will update the primvar values (as shown in Solaris Geometry SpreadSheet panel), but the render won't change.
However, if I implement a similar logic in a Python LOP node, the values are updated and the render shows the expected result.
The downside of this approach is that the node is cooked whenever Houdini decides it needs to, and I would like to be in control of when it's executed.
So, I guess my question is, is it possible to edit the primvars outside of a LOP node and the renderer be aware of the changes? And, if possible, is it recommended, or should I this always be done in a LOP node?
Here's a short code snippet of what I'm trying to do:
def random_primvars(self, node_path): lop_node = hou.node(node_path) stage = lop_node.stage() stage.SetEditTarget(stage.GetSessionLayer()) min_val = self.min_input.value() max_val = self.max_input.value() for prim in stage.Traverse(): primvars_api = UsdGeom.PrimvarsAPI(prim) for pv in primvars_api.GetPrimvars(): if "to_update_" in pv.GetName(): new_val = random.uniform(min_val, max_val) pv.Set(new_val)
Running this code in a shelf tool or Python panel will update the primvar values (as shown in Solaris Geometry SpreadSheet panel), but the render won't change.
However, if I implement a similar logic in a Python LOP node, the values are updated and the render shows the expected result.
The downside of this approach is that the node is cooked whenever Houdini decides it needs to, and I would like to be in control of when it's executed.
So, I guess my question is, is it possible to edit the primvars outside of a LOP node and the renderer be aware of the changes? And, if possible, is it recommended, or should I this always be done in a LOP node?
Houdini Indie and Apprentice » Beer foam
-
- jmthompson691
- 1 posts
- Offline
Hey Everyone,
I'm new to Houdini, and I'm trying to simulate beer pouring into a pint glass with foam developing and rising to the top of the glass. I'm able to fill the glass with fluid and create the foam group, but I can't seem to find a way to get the foam particles to rise to the top of the fluid surface. Any ideas? None of my VEXpressions are doing what I want. Btw I am using houdini 20.5. Attaching my hip file.
I'm new to Houdini, and I'm trying to simulate beer pouring into a pint glass with foam developing and rising to the top of the glass. I'm able to fill the glass with fluid and create the foam group, but I can't seem to find a way to get the foam particles to rise to the top of the fluid surface. Any ideas? None of my VEXpressions are doing what I want. Btw I am using houdini 20.5. Attaching my hip file.
-
- Quick Links