Houdini Engine for Unity
 All Files Pages
Source Control Integration

Table of Contents

This contains information about source control integration for the plugin source and the files and folders it generates.


Files

There are 2 files that the plugin generates which need to be considered for source control:

  1. Unity Project Root/heu_session.txt
    This is a temporary file used by the plugin to store current session information. This should not be added to source control but rather should be ignored. It is only specific to the local machine and project. It is safe to delete this file if Unity is not running. In fact, the plugin will automatically delete this file when closing the Unity Editor.
  2. Unity Project Root/heu_settings.ini
    This file contains the plugin's settings. It can be added to source control if the settings should be shared for all users and machines using the Unity project. It can also be ignored if the settings are to be specific to each user or machine. It is safe to delete this file. The plugin will regenerate it.

Folders

There are 3 main folders that need to be considered for source control integration:

  1. Assets/Plugins/HoudiniEngineUnity
    This is the plugin source, and you can and should commit everything in this folder into source control. The only reason not to commit this folder is if you have multiple users or multiple machines, and want to have different versions of the plugin and Houdini for each user or machine. You can also create a symbolic link (or shortcut) from another location where the plugin files are extracted (e.g. a Github repository) into the Assets/Plugins folder, which means you share the plugin source across the multiple machines without needing to add to source control.
  2. Assets/HoudiniEngineAssetCache/Working
    This is where intermediate files generated by HDAs and in use by them are placed. These include meshes, textures, terrain data, and other asset files. This can be considered a "noisy" folder in that the files can change often as HDAs are recooked and updated. Depending on the workflow these files can be committed into source control, or left out. If the HDAs are used in scenes temporarily, and their outputs always baked out, this folder can be left out. If the HDAs are saved in the scenes, and considered part of the project and be accessible by other users and on other machines, this folder should be committed. Adding this folder can result in merge conflicts when multiple users are working on the same HDA in the same scene. It is recommend in this latter case to come up with a workflow that reduces conflicts, or use subfolders within for each user. This can be set in the menu via HoudiniEngine > Plugin Settings > GENERAL > Houdini Asset Cache Path.
  3. Assets/HoudiniEngineAssetCacheBaked
    This is where baked assets files are generated from HDAs. Everything in this folder should be checked in. These assets should be considered part of the Unity project similar to other regular assets such as models, textures, etc.

It is recommended for simplicity that all 3 folders above should be committed to source control. If so, there could be conflicts when there are multiple users working on the same HDA in the same scene. But that is a general workflow issue that must be resolved by the team similar to updating any asset such as a FBX file or texture file.