Search Unity

Patch programs

Discussion in 'Scripting' started by peacemaker109, Apr 5, 2014.

  1. peacemaker109

    peacemaker109

    Joined:
    Feb 8, 2013
    Posts:
    35
    Not sure if this is Scripting or Unity Support.
    I am getting to the point where updates are being troublesome do to the need to pretty much just redownload the whole thing everyday for even minor changes.
    So looking around, I seen the Crafty Patch program in the assets store, and I also seen on the Windows Development stuff SDK it has a patch program, that Advanced Installer uses to make patches of installs.
    SO the question is more or less are they reliable or is there a better way?
    Some times the things I change are small, like some scripts, and it seems like the scripts are compiled and stored into the exe?
    Some times thier large, ie adding new maps, areas, etc. and I think all the assets/terrains/objects/info is stored in those sharedasset files?
    Idea is to try to make some form of a launcher that would be able to see if there is a update, and if so update what is needed without redownloading the whole thing. But also something that is of course reliable. Since im still new messing with unity, not sure how the data is accualy stored and managed so not sure what is the most reliable means of implementing a patching system. Any sugegstions, and links to resources on it would be very much appreciated :)
     
  2. QuantumCD

    QuantumCD

    Joined:
    Dec 15, 2012
    Posts:
    10
    I spent some time trying to figure out a patching process for an indev MMORPG project I'm working on in my spare time. For Windows, I wrote a C++ patcher that used xdelta (not hard if you know C++). It worked really well, and I could get patches down to kilobytes for things like small code changes (patching the DLL files). However, the biggest issue with using something like xdelta (or any third-party libraries/programs) is cross-platform-ness.

    As for how Unity stores things, I believe the .exe itself is the actual compiled Unity engine. Your code is stored in the Assembly-CSharp.dll's and the like. All your shared assets are in the sharedassets file (generally the giant file).