Best practice for source control

artur_k

New member
Hello Opsive team,

I’ve just purchased Behavior Designer Pro from the Unity Asset Store.
After importing, the asset added three embedded UPM packages into my project:
  • Packages/com.opsive.behaviordesigner
  • Packages/com.opsive.graphdesigner
  • Packages/com.opsive.shared
Together they are about 120MB and include hundreds of small files, which I’m trying to avoid committing into my main Git repository if possible.

Could you please advise the recommended source control workflow for your packages?

Specifically:
  1. Is it expected/best practice to commit these embedded packages into Git (Packages/… folders), or is there an alternative?
  2. Do you support installing BD Pro via a git URL / UPM registry (private or public) instead of embedding the package contents?
  3. If not, what options do you recommend?
    • Git submodule/subtree for vendor packages?
    • Git LFS?
    • Keeping packages outside the repo and referencing via file: in manifest.json?
  4. What is your suggested approach for updating the asset in a clean way while keeping a stable, reproducible build (CI friendly)

I’m using Unity 6.3 and I’m a solo developer, so keeping the workflow simple and maintainable is very important for me.

Thanks in advance!
 
Is it expected/best practice to commit these embedded packages into Git (Packages/… folders), or is there an alternative?
Yes, though the one that you do not need to commit is the com.opsive.behaviordesigner/~Samples folder.

Do you support installing BD Pro via a git URL / UPM registry (private or public) instead of embedding the package contents?
If you purchased through the Asset Store then you can only use the Package Manager. If you purchased the Behavior Designer Pro Subscription there is a git repository that you cna hook into.

If not, what options do you recommend?
Personally I use git, Behavior Designer Pro doesn't specifically need LFS when you leave off the samples.

What is your suggested approach for updating the asset in a clean way while keeping a stable, reproducible build (CI friendly)
When there's an update you can download it from the Package Manager and then commit the changed files.
 
Back
Top