Marc-André Belzile
mabelzile
About Me
Connect
LOCATION
WEBSITE
Houdini Skills
Availability
Not Specified
My Badges
SideFX Staff
Since Feb 2018
Recent Forum Posts
How to hook to OnEnter of an existing Python state? June 16, 2026, 8:29 p.m.
You could install a callback on the hou.SceneViewer object where the state is running and listen for the hou.sceneViewerEvent.StateEntered event.
https://www.sidefx.com/docs/houdini21.0/hom/hou/SceneViewer.html#addEventCallback [www.sidefx.com]
https://www.sidefx.com/docs/houdini21.0/hom/hou/SceneViewer.html#addEventCallback [www.sidefx.com]
Python Handle - init vs onActivate concepts March 4, 2026, 8:31 a.m.
Houdini deletes handles automatically when the state exits, so this is handled for you. `onDeactivate()` can be used if you need to perform additional cleanup or manage handle settings, etc.
I
I
Python Handle - init vs onActivate concepts Jan. 15, 2026, 4 p.m.
__init__() is the Python handle constructor and is called when the state is entered and the handle is created.
onActivate() is called by Houdini to initialize an existing handle, either when the state is first entered or when it is resumed.
When the state exits, onDeactivate() is called and the handle is deleted. The next time the state is entered, a new handle is created and onActivate() is called again.
Interrupting a state does not delete the handle, but still triggers onDeactivate().
onActivate() is called by Houdini to initialize an existing handle, either when the state is first entered or when it is resumed.
When the state exits, onDeactivate() is called and the handle is deleted. The next time the state is entered, a new handle is created and onActivate() is called again.
Interrupting a state does not delete the handle, but still triggers onDeactivate().