Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Managing DLL dependencies in a Unity project

Discussion in 'Scripting' started by UCh, Apr 28, 2015.

  1. UCh

    UCh

    Joined:
    Nov 18, 2012
    Posts:
    29
    Hi all,

    The reason to open this thread is to ask the community what are you using to solve dll dependencies in Unity project. Anyone has experience using Kaizen, Gradle or Maven to solve dll dependencies inside a Unity project?

    TL;DR;

    Im doing some research in how to set up a Unity project to play well in a large team, including continuous integration pipeline. In order to find all the pitfalls I created a test project that tick all the boxes that I want to cover. One of them is isolate bits of the code as managed mono DLLs to avoid having a lot of library code copy pasted inside the Unity project, an be able to separate properly the Unity stuff from business logic code.

    The issue

    I create a dll that contain StrageIoC code (I want to have dependency injection and MVC architecture in my project). The dll generation happens in a separate mono solution outside Unity and then I copy the generated file inside the project. So far so good. My issue now is how to manage dll version dependencies. For the ones not familiar with this concept, this is the scenario that I want to solve:

    • I have strangeIoC.dll version 1.0 in the Unity project
    • StrangeIoC has an update
    • I update the StrangeIoC modo project and generate a new dll
    • The dll is upload to my artefact server (Nexus, Artifactory, whatever)
    • I want to have a method on the Unity project to check if a new version of the dll is available and update (download and copy to the right place) the new dll.

    I'm used to do that using Maven. I saw that Unity has a open source project called Kaizen that use Gradle to handle this problem, but I'm unable to find any article or forum thread talking about it.

    Thanks in advance!
     
    Last edited: Apr 29, 2015
  2. bilke

    bilke

    Joined:
    Jul 13, 2012
    Posts:
    54
    Hi UCh,

    I am very interested in this approach. Do you have already have some more to share?
     
  3. UCh

    UCh

    Joined:
    Nov 18, 2012
    Posts:
    29
  4. bilke

    bilke

    Joined:
    Jul 13, 2012
    Posts:
    54
    Thanks!
     
  5. UCh

    UCh

    Joined:
    Nov 18, 2012
    Posts:
    29
    I re-started my research and I find a promising repo from the Wonga folks: http://wooga.github.io/Paket.Unity3D/index.html

    I'm thinking in a combination of this and Cake or Fake. Looking at Wonga repos looks like they are already using Fake with Unity.