The Launcher is a helper application like any patcher but with one difference; It’s completely coded and designed in Unity. It basically allows the user to download your game, keeps your game updated at all times and checks file integrity.
With only one editor window, you can upload your build to your server. Compressing, version checking, file integrity control all handled by the window.
With only one single inspector script, you can configure the client completely. Checking out the demo scene will provide lots of useful information on both configuration and structure of the client.
Seems really promising! I wish you success with this project!
One question please: if the user wasn’t connected for a while and “missed” let’s say 3 versions update…how will ‘The Launcher’ react? Will it apply all patches in cascade or will it ďownload the full new version?
Thanks a whole lot! The answer to your question is that it will download the game anew but this is currently the case for any new version. The Launcher for now downloads the entire folder again if it detects a change unfortunately but it was on my to-do list and now I’m developing a new update which will be sent to the Asset Store Team in 2 days tops.
After the update, The Launcher will detect any binary changes and will update the files accordingly. It will download new files which do not exist in the folder structure and detect any changes to any file and download only the required/changed files.
Not sure what “upload_.flamacore” is, the documentation isn’t clear. Is that the file list or the version file?
Edit: Initially no version file was uploaded. I had to set it in the string, recompress and upload for it to appear.
Sadly all the launcher does is say “downloading version file” - when attempting to access my version.flamacore
url seems to work fine, any ideas?
Edit #2: Log file says it’s a 403 error so that could be due to crossdomain settings. Suggestions so far involve using UnityWebRequest rather than www for increase compatibility.
Edit#4: I’ve compiled the launcher in unity 5.6.6f2 to load a game build compiled in unity 2017. I can confirm this works and bypasses the 403 errors I was getting as, after speaking with my webhosts, their security rules don’t play well with the Unity 2017 libcurl usage.
Edit#5: This is absolutely amazing. Any chance of allowing peeps to download multiple builds? My software has a version meant for the desktop as well as VR : ]
Edit#6: If anyone is trying to create a launcher with a custom resolution and is unable to see it take effect, see the following thread. Turns out that if you build the executable and run it, the registry key it creates fouls things up - can't change resolution for standalone build
Edit#6: I couldn’t get this working on Amazon S3 bucket hosting until I disabled SSL in the start(){} of download.cs using the following script:
Hello
I just bought this asset and it seems the game is not launching when I download the patch and press play. It says The file specified could not be found. I made sure my game name matched the .exe file and still the same error.
Ignore my last post, I was actually selecting the data folder for the build. Which is why it wasn’t including the .exe file. Everything is resolved now.
One more thing actually, how do I create my own news/patch notes in the php file? This asset doesn’t seem to include the php file for an example.
-Thank you
While it’s just using a simple echo to print out what’s needed, the contents of the original php is below;
<?php
echo'
<color="orange"><b>Patch Notes:</b></color>
-Check out Chief Games at Play Store and App Store!
-The launcher was created by Çağlayan Karagözler who also has a great fx pack called <color="orange"><i><b>Awesome Effects - Complete Bundle</b></i></color> at Asset Store!
-The Launcher works using FTP credentials.
-Awesome Effects - Complete bundle has 80 awesome effects prefabs with optimized AAA quality!
--------------------
';
?>
Also, now that someone actually used this post; An update is in order. recently, a user has bought the asset and realised that it does not work on Unity 2018.2 or 3. So a need for fixing things has risen. This is probably due to Unity obsoleting the www class and minor ignorable bugs or changes in UnityWebRequest flow and WebClient flow. The Launcher mainly uses the .NET classes of WebClient and FtpWebRequest since it’s designed to work on desktop platforms but with the new changes that came with 2018 (probably this includes the .NET 3.5 and 4.5 library support), these guys are probably out of date or simply don’t work.
I’m planning to release the update (at least send it to the store for inspection) in 6-7 work days at most. Keep in touch and if anybody needs the update immediately, it will be sent via e-mail upon invoice confirmation
Never realised that this post was here, my mistake, truly sorry. A bit of a late-comer to the party but I gotta say I had no intentions to allow multiple builds but come to think of it, it’s a good idea and a good addition to polish the launcher a bit more. So it may not be included in this next update, probably will be added after that
For some reason the update is not working when I create and upload a new version. It just says everything is okay? Is this part of the bug you were talking about? I am using Unity 2017
Well with the new version, file checking and version checking are fixed as well.
Progress to update; About 90% complete. I’ve implemented a completely new approach to how upload thread works and how download process goes. File integrity check now includes a byte size check as well so it should be able to check even the slightest changes in codes/files. Also the system properly works on Unity 2018.2
There were numerous errors and problematic approaches on the editor side and those are fixed as well. One example would be that when testing inside the editor, the launcher would download the files into the assets folder which would result in importing erroneous dlls into the editor and causing a mess. That is now fixed by moving the default folder to the upper folder.
Another example would be that when decompressing finishes, the launcher would tell that the game is ready to launch but it would crash due to files bytes not being written perfectly. Probably caused by file checks performed by windows & mac. Could be also related to catalog files and etc. In any case, this is fixed by waiting for the files to be written correctly before allowing to press the play button.
More fixes are there but I’ll make a list when the update arrives Probably will be done by Friday if not tomorrow.
So the update is done. Please contact me at chaglayan.k@gmail.com with your invoice number to receive the update in advance before it arrives to the store!
Changelog:
Upload flow and download flow are now using coroutines with a singleton pattern; This ensures that all the process take up less memory, cpu and it also became more reliable.
File integrity check now is additionally calculated with byte size. This should allow any kind of update to be rolled out easily enough
When testing in the editor, the application downloaded the files inside the assets folder causing a lot of dll mess. This is now fixed.
After the download, the decompressor did not close and flush itself correctly thus it caused the “Failed to Load Mono” / “Unity Crashed” error since it did not write out the contents of the “unity default resources” file. This is also now fixed.
Unity 2018 is now supported with the new flow changes.
This is a minor update which contains 2 specific fixes for the compression part.
-Compression now properly works on all Windows 10-8 versions.
-Compression froze at the first step. This is now fixed.
-Compression required Unity to be focused to continue working, this is also fixed.
Just sent it to the Asset Store team. Please contact if you need it now
Hey, certainly glad that you like it and gave it a try Please do not hesitate to write any problems you may encounter here.
Currently no bugs should be present. Just as a side note; SFTP is not supported currently and still working hard on binary diffing for the launcher to update only partially. Other than that, nothing to my knowledge And also please kindly ignore the one 3-star and one 1-star review on the page as the errors they mention are long gone now but I have no way of truly contacting them so…
Is that what happens when you click the Upload button? From the file line, it uses System.IO.FileInfo fi = new System.IO.FileInfo(FilePath); which makes me think of a permission issue. Running Unity in administrator mode could work. Also, I see from the screenshot that you are running the project under your username folder in C: drive. It would be safe to say carrying it outside those folders might also fix the issue since they are generally problematic when it comes to permissions
It happens when i click the upload button, yes. (Also as an Administrator)
I need to stay in this folder.
can i do manual upload? And when yes, how is the folder structure?
I have copied to another hdd and there also the files are not uploading.
I use win7 with latest sp.
Manual Upload:
When i do a Manual Upload and start the Launcher/patcher it extract in Patcher_Data folder.
When i start again i get an File Integrity problem
From output.log:
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug.bindings.h Line: 43)
decompress started2
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug.bindings.h Line: 43)
Compression finished
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug.bindings.h Line: 43)
System.IO.IOException: Sharing violation on path E:/Patcher/Patcher_Data/upload_.thln
at System.IO.File.Delete (System.String path) [0x00000] in <filename unknown>:0
at Decompressor.DecompressFile (System.String sDir, System.IO.Compression.GZipStream zipStream) [0x00000] in <filename unknown>:0