- Home /
Game launcher?
Most of the time when you download a PC game, there is also a launcher installed. They scan for updates, and there is also a play button. I want to know if there is a way to do this with either Visual Studio (separate from Unity), and have it scan for updates, so when I make changes to the game in Unity Editor, the updater will detect that and update it. Could someone please point me in the right direction?
Answer by Glurth · Oct 14, 2017 at 05:23 PM
These launcher programs will read a local game file (usually some kind of configuration file like a text file, containing the version number, which can be updated/included with each version). Then it contacts the developer’s servers to see if the version currently installed is older than the version available on the server.
If a new version is detected, it will enable the button to update. The simplest way to do this is to download the update file from the server and overwrite the existing files, with the new downloaded ones. (Note: files in USE cannot be overwritten, this is why the updater is a separate program. This means the updater program, CANNOT update itself (at least while it's running), but you CAN use the main game, to update the LAUNCHER program if you need to!)
Keep in mind this update program will need to be aware of where (or in the same location as) the local installation files are to be found.
The play button simply issues an operating system command line, to execute the main-program, and close the launcher. (unless update is in progress, in which case the play button should be disabled) Visual studio can certainly be used to develop such a program, but I'm not sure it would work on non-PC platforms. (Since you just need to execute an OS command line, a separate Unity program might actually work for this: http://answers.unity3d.com/questions/1127023/running-command-line-action-through-c-script.html)
Don’t forget you may also need to program the component of your server, that listens for requests about the current version, and replies. Alternatively, a simple web-host would probably work for this too.
Your answer