[Asset]Unity Game Patcher[Pro Not Needed]

UGP
Unity Game Patcher

Hello, i guess ill start at the beginning. A few weeks ago I was sitting in Chem 1E (General Chemistry for Engineers) and i got a push notification on my iPhone telling me that there was an IOS update, it was the bug fixes for IOS 7. Then i started to wonder how patches and updates are made and applied. Luckily there was only 5 minutes left in class and i already finished the problem that the Professor was going over. When i got back to the dorms i decided to look it up and see how Unity handled patches, little to my surprise they have Zilch support for it unless you have pro and do asset bundles or buy the expensive M2H patcher which looks good but requires pro also. Then I started to work on a whole patch creating system for the fun of it, after creating a whole simple comparison of files and past revision system along with a binary serializer and deserializer to generate the patch file and the old revision data. But then i realized that it was very inefficient since it just replaced files rather than small changes, so I googled how to find changes in binary data. I found several solutions and theories on it, the main one is LCS (Longest Common Subsequence or Longest Common Substring) and almost none other than that. So after reading through the wikepedia and understanding it thoroughly, I started on my own form of it. Although for a 19mb picture file it was taking quite a while to find a single line that i changed on the picture. But it worked, so i decided again to google different ways to do it and there are none, except for a few college exit papers on other theories so i decided to work off a few PDF’s that i read and there thought on it. So I Started to work on a pumped up version of the LCS and made it around 8 times faster. Then with another PDF i read about a system called O(ND) Difference Algorithm I wrote a even faster improvement to the LCS and ended up ramping the speed to 23 times faster than the basic LCS system!!!

That is how I started on this, and now im touching it up and working on it to still make it faster and make the smallest patch possible that still patches everything and can patch as many platforms as possible. So here is the WIP Thread! :slight_smile:

Completed:

  • Difference Finding Algorithm
  • Patch Creation System
  • Old Version Creation
  • Patch Applying

Working On:

  • More ability to customize the patch the way you want. Include files or Exclude Files, use Algorithm or fully replace Etc…
  • Easy Patch Installing for client
  • Http Parser to find patches on webserver directory
  • Faster Patch Creation
  • Anything Else I Think of

Requirements:

  • A Computer
  • Unity
  • Ability to Move and Click Mouse
  • Have to Build application for target platform (Windows,Mac,Linux)

P.S. Will be going on the Asset Store, my current thought on price is $20-25 maybe less not sure yet.

PDF of O(ND) Algorithm (Caution: Proceed at your own risk, its not something simple and is extremely hard to complete successfully and make it run fast) : PDF on O(ND)

Then just google Wikepedia LCS algorithm :slight_smile:

hope to see this

I’m looking out for a cheap and easy patcher so I keep up the good work!

what about ios and android platform?

How should that even work?