How to define external HDA packages in a Unity project?

   1440   1   0
User Avatar
Member
9 posts
Joined: Feb. 2018
Offline
IS there a go to method for defining HDA packages that works for Unity and version control? We need a library of non-user-facing HDAs to exist within a folder managed by version control (including the SideFX Labs hda as to avoid potential of user error during houdini install forgetting to mark labs).

Editing unity_houdini.env doesn't seem to work as it is absolute paths, and we cant require each user to do this.

Is there any way to use packages like specified here? Would it require customizing the C# implementation of houdini engine for unity? https://www.sidefx.com/docs/houdini/ref/plugins.html#package_path [www.sidefx.com]

An example would be:

We have a library of HDAs that shouldn't live in Assets, because they are not intended for artist/designers to interact with. There is another set of HDAs intended for artist designer usage, built from the other library.
The "library" of non-user facing HDAs exists within version control but outside of Assets.

The goal is the end user shouldn't have to configure their environment or edit unity_houdini.env, it should be pre-set to avoid any user error.

Simply getting latest should ensure a user has the latest files.

This also ensures that if a bug or improvement is made in a node from the HDA library, all other user-facing HDAs receive that improvement (without manually tracking, rebuilding and submitting each)
Edited by xra - May 12, 2021 00:51:26
User Avatar
Member
100 posts
Joined: Dec. 2020
Offline
You say that you don't want absolute paths, but you also want to set the package outside of the Unity Assets folder, so what will it be relative to? If it is the project folder, from my experience, simply using $HIP is equivalent to the project folder. (e.g. $HIP/Assets/Textures/grass.png). You might be able to do something like $HIP/../../packages/Test.hda
  • Quick Links