Download

GitHub dependency zips and latest-preview snapshots

Smart addition, I just wish this system was implemented directly into the launcher to manage and handle the engine source code and stored remotely on an Epic Games server performing these tasks, I know it would require more networking resources, but working with the GitHUB client hasn’t been the best experience, the GitHUB client keeps crashing on me and it’s been confusing to deal with when issues come up which require troubleshooting it further.

Thank you for this change, it should also hopefully save tons of bandwidth, I went over a 150GB bandwidth limit first time ever awhile back, when you add the source code, plus the regular installs, updates, and marketplace content, with video tutorials and more, oh plus your other third party and standard computer updates, it can quickly hit high on bandwidth usage, I just hope others are aware of that.

setup.bat is ace
well done and thanks Epic :slight_smile:

This is cool.

Wondering if it’s possible for the script to only download the libs for the platform you are on to save on bandwidth. Unfortunately I live in a country where internet isn’t unlimited to 3GB+ each time I want to update libs eats into my allowance easily.

Cheers
Dan

It filters out binaries for Windows, Mac, HTML5 and Android depending on your current platform and which SDKs you have installed. It always gets Linux binaries at the moment due to the possibility of cross-compiling, but I will see if I can fix that.

This new system doesn’t require you to download 3gb every time though - it only downloads deltas from what you currently have, which should reduce your download significantly.

Cool stuff! So do you recommend using the promoted branch? Is the intention to use it the same way is in P4 where we checkout the labels for each release? Using the same branch makes it far better to updated and merge our own forks. I already had some issues when I merged my dev branch with a new release, so fixing it by hand was quite tedious :smiley:

I’ve set up a separate rolling branch for releases (see my post here) - you may want to stick to that; it’s pretty similar to the way the P4 labels work for releases. Promoted builds mainly focus on basic editor functionality, and won’t be anywhere near as refined as the releases.

thats good to know. if we then want to build with new source updates, do we just sync github and re-run dependency script? I have been downoaded source zips from github. so is it just the third party folder that needs copying across?

If you’re using Git, it will automatically download the new dependencies whenever you checkout or merge something. You can run Setup.bat at any time too.

With the source zips it’s a bit trickier to make sure you’ve got a clean sync without downloading everything again - you can’t easily update the source code in place without leaving deleted files around, and there’s no clean way to separate out things in the zip from things in the dependency downloads. There’s the content folder, samples, templates, bits of the ThirdParty folder - all mixed together within the same folders as the source.

Found a very nasty side effect: additional files are not cached anywhere outside the working copy. As a result, after “git clean -fdx” every time quite slowly downloaded 3GB.

Are the dependency files protected to be fetched only by active subscribers, like github access to the sources?

Good point. I’ll try to add caching for the 4.7 release.

No, you can get dependencies for any release you already have.

Looks good. Presumably setup.bat now downloads Required1of2 & Required2of2? Where do I get optional.zip from now for VS2012 support?

No, it doesn’t download anything in zip files any more. All the individual files you need are stored as compressed chunks of data on our servers, and it will only download the files you need. That’ll exclude things like Mac libraries on Windows, or Android files if you don’t have the Android SDK installed.

VS2012 files will be included automatically on Windows.

ZIPs were redistribution friendly .-.

Edit: on second thought that’s a better redistribution method if all the Pc has the same configuration, download it one and zip-it.

A bunch of people have asked for a way to cache downloaded files, so I can certainly look at a way to redirect that caching to a shared location.

ZIPs…

How to include HTML5 dependencies files?

The HTML5 dependencies will be downloaded if you have Emscripten installed (it looks for the EMSCRIPTEN environment variable).

Link to the tutorial showing what options can be passed to Setup.bat :
[TUTORIAL] How to use Setup.bat and how to reduce download size](https://forums.unrealengine.com/showthread.php?54957-TUTORIAL-How-to-use-Setup-bat-and-how-to-reduce-download-size)

Currently using:


Setup.bat -exclude=WinRT -exclude=Linux -exclude=Linux32 -exclude=osx64 -exclude=IOS

Is setup currently working for OSX? As in the setup.command? Currently is just seems to exit.

EDIT: This is the latest promoted label.

It seems to be working fine on my Mac. Can you open a terminal window and run sh -x Setup.sh, then post the output?