HEGoAPI
Inherits: Object
Singleton entry point for HEGo session management, task scheduling, and HDA discovery.
Description
This class owns the internal HEGoSessionManager and task scheduler, initializes the Houdini API platform layer, and exposes session and task controls to scripts.
The singleton is created during module initialization and is intended to be reused for the whole runtime.
All HEGo node methods that call Houdini Engine submit work through the task scheduler and return HEGoTask objects. Use the scheduler query methods on this class to inspect queued, running, and completed tasks.
It also stores hego/houdini_installation_path in Godot project settings. That path is used when filtering built-in Houdini libraries from get_hda_libraries().
Methods
void |
|
|
|
|
|
|
get_houdini_installation_path() const |
|
|
get_singleton() static |
|
|
|
|
|
void |
set_houdini_installation_path(path: |
|
start_session(connection_type: |
|
|
submit_task(task: HEGoTask) |
Method Descriptions
void clear_completed_task_history() 🔗
Clears the completed task history ring buffer.
Array get_completed_task_history() 🔗
Returns an Array of HEGoTask objects that have finished executing (either HEGoTask.COMPLETED or HEGoTask.FAILED).
The history is stored in a ring buffer capped at 64 entries. Newest entries are at the front of the array.
Returns the HEGoTask currently being executed on the background worker thread, or null if the scheduler is idle.
Dictionary get_hda_libraries() 🔗
Returns metadata for currently loaded non-built-in HDA libraries.
The dictionary is keyed by library name when available (otherwise by library id as a string).
Each value contains:
id: HAPI asset library id.file_path: source library path.name: basename without extension.asset_count: number of available assets in the library.assets:PackedStringArrayof operator names.
Returns an empty dictionary if no session is active, if no libraries are loaded, or if querying HAPI fails.
String get_houdini_installation_path() const 🔗
Returns the configured Houdini installation path from project settings.
Array get_pending_tasks() 🔗
Returns an Array of HEGoTask objects waiting in the scheduler queue (status HEGoTask.PENDING).
Does not include the currently running task. See get_current_task() for that.
HEGoAPI get_singleton() static 🔗
Returns the global HEGoAPI singleton instance created during module initialization.
int get_task_pending_count() 🔗
Returns the number of tasks waiting in the scheduler queue.
This count does not include the currently running task.
bool is_session_active() 🔗
Returns true when the Houdini Engine session is currently active.
void set_houdini_installation_path(path: String) 🔗
Updates the hego/houdini_installation_path project setting.
bool start_session(connection_type: int, connection_data: String) 🔗
Starts a Houdini Engine session and initializes HAPI.
connection_type maps to HEGoSessionManager::SessionType:
1 = InProcess
2 = NewNamedPipe
3 = NewTCPSocket
4 = ExistingNamedPipe
5 = ExistingTCPSocket
6 = ExistingSharedMemory
connection_data is transport-specific (for example named pipe string or socket endpoint data).
Returns true on successful session startup and initialization.
bool stop_session() 🔗
Stops the task scheduler and then closes the active Houdini Engine session, releasing all session resources.
Any pending tasks in the queue are discarded. The currently running task, if any, is allowed to finish before the session is closed.
Returns true when shutdown succeeds.
HEGoTask submit_task(task: HEGoTask) 🔗
Submits an HEGoTask to the scheduler queue for execution on the background worker thread.
This is called internally by HEGo node methods. Direct use is rarely needed unless you are building custom task pipelines.
Returns the same HEGoTask that was passed in, for convenience.
Class Registration
Kind: Concrete