I feel like I must be missing something obvious, because I can't figure out how to set up our hip files and hda files to play nicely with houdini libraries, Unity *and* source control.

Simplified version:
RoomA.hda - which generates rooms, and is used directly inside Unity by tech designers
RoomA.hip - which is just a scene containing RoomA.hda, to actually edit the hda itself
Chair.hda / Table.hda - various smaller hdas that are used inside the master hda.

All of these live within a HDAs folder inside UnityProject/Assets. The whole lot is checked into source control, and various people check it out and it ends up at different paths on different machines (eg. X:/UnityProject vs. C:/Some/Horrible/Long/Path/UnityProject).

The problem with all of this is that the sub-hdas (Chair / Table etc.) don't actually work. If they're external, then they fail to load on different machines because they're in a different place on disk. That means right now they're actually embedded inside RoomA.hda, which means they can't be shared anywhere else. Additionally, RoomA.hip keeps loosing it's reference to the Room hda, so I have to keep deleting it and re-importing it each time.

I tried using qLib to set $JOB to the root of the project, but my HDA references (when viewed in Assets->Asset Manager) are still linked with a full absolute path so that doesn't work if it's checked into source control. Similarly if I set a $JOB relative path when I create the HDA in the first place.

How do I allow nested, external HDAs without hardcoding absolute paths everywhere?

Thanks.