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. Dismiss Notice

ECS packages on github?

Discussion in 'Entity Component System' started by rz_0lento, Apr 5, 2019.

  1. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    @Joachim_Ante Is Unity planning to put Entities, Hybrid, Unity Physics, AI Planner, upcoming DSPGraph etc on github? Especially Entities and Hybrid packages benefit greatly from having diffs between releases and having Unity Physics out there would make it easier for people to share their physics modifications.

    Alternatively if Unity doesn't make official repos, would Unity prefer users to not share these on github on their own? (of course the existing companion license would be clearly available with such repos). I've done these diffs on my local git repos so far but I could easily push them in public github repos so people could examine and modify these easier - but only if this is ok with Unity. I have clean diffs between each released package.

    Afaik, Unity Companion License itself doesn't prevent sharing these but I wouldn't want to do anything that would upset Unity. :)
     
  2. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    Even simple answer like "we don't consider github for ECS" / "don't put these to github" is fine, would just want to see the line drawn somewhere :)
     
  3. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,501
    I understand staff is busy, but unfortunately we have few threads already, which been asked by community for direction on specific matters, yet without any official answer, or answer at all. Even answering "we are working on solution atm", or "or is not possible yet" or whatever would be highly appreciated. Is just to get affirmation on the direction.

    Like in OP question here regarding community gits, may be critical. And I believe is valid point.
     
  4. Piefayth

    Piefayth

    Joined:
    Feb 7, 2017
    Posts:
    61
    Bumping this. One use case I thought might be nice is that I might want to put some snippets from Unity.Entities in a blog post, and being able to link back to the full source from the snippet could be an easy way to provide additional context for a reader who needs it. I think often the answers to tough ECS questions are "look at the source and see what it does"; simply being able to open it in a browser tab like any other documentation is quite useful for development!
     
  5. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    Being able to link specific things on the official discord and forums would be really handy as well when helping others. You can't really do that on current package form.
     
    Orimay and pcysl5edgo like this.
  6. Singtaa

    Singtaa

    Joined:
    Dec 14, 2010
    Posts:
    485
    DOTS, its devs, and its community will benefit greatly by having the source code on Github. And for the love of God, enable issues and pull requests (and maintain them), and have a proper roadmap like any other self-respecting open source project.

    And Unity, I don't want it to become a norm where every time you start a new experimental package, I have to ask when are you going to stop releasing on Google Drive and put it in Package Manager. And when you release a preview in Package Manager, I have to ask when or if you are going to put it on Github. Come on now, this is dumb. Can't we just release on Github from the start? I used to think one of the major benefits of Unity going modular with all the packages was that they will be on Github by default.

    :)
     
    Last edited: May 21, 2019
  7. phobos2077

    phobos2077

    Joined:
    Feb 10, 2018
    Posts:
    350
    Any news on this? Sometimes there are bugs in some package that you can fix yourself. If it were up on github you can just fork it, fix the bug and add it via github url to Package Manager until the official fix arrives. Now we have to fix the bug and add the entire package (sometimes, more than a thousand files) into the project repo itself. Very ugly.
     
  8. JakHussain

    JakHussain

    Joined:
    Oct 20, 2016
    Posts:
    318
  9. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,355
    That's unfortunate. But that thread is more about contributing. The far more common case is studios that have modifications and github makes tracking those far easier. And that scenario is far easier to support.
     
    JakHussain and phobos2077 like this.
  10. phreezie

    phreezie

    Joined:
    Oct 3, 2019
    Posts:
    118
    I have the same problem. I'm in need of a missing API, and I would need to at least keep a fork with a branch of my patch somewhere to pull in. My project is open source, so I wouldn't be able to hide the code in a private repo.

    Reading through Unity Companion License doesn't give me the impression it's forbidden as long as the fork sails under the same license:

    Unity Technologies ApS (“Unity”) grants to you a worldwide, non-exclusive, no-charge, and royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute the software that is made available under this License (“Software”), subject to the following terms and conditions:​

    Has anyone done this? Do we have a statement from Unity about this (not about them publishing, but about others posting Companion code publicly)?
     
  11. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,325
    I wonder why.

    Using Github would be a win-win situation for everyone involved:
    • Users could see diffs
    • Users could send in their own bug fixes
    • Other users could figure out how to fix open bugs by looking at PRs
    • Bug->Fix turnaround time would be orders of magnitude faster. From months/years to hours.
    • Unity would get orders of magnitude less bug reports
    • Unity would overnight get rid of the #1 complaint since day one, which was instability.
    • Call me crazy, but people could make their dream games with a stable game engine for once.
    It seems obvious. Whatever they did before is clearly not working, as evident by the huge amount of bugs.

    Unity doesn't even need to accept any feature requests or discussions, I can see that being annoying. Bug-fixes-only PRs would change everything though.

    I'd argue that not using Github is extremely risky for Unity. You can only get away with instability and year-long bug fix times for so long. Some day, some new engine will come along to do this from day one.
     
    Last edited: Jul 21, 2020
    _slash_, Vaarz, Radivarig and 28 others like this.