Announcement

Collapse
No announcement yet.

Distributing custom build to team.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Originally posted by Kalms View Post
    Yep -- it appears that Epic are phasing out Rocket in favor of a new build process. There are some notes to that effect in https://forums.unrealengine.com/show...l=1#post575178 (with suggested command lines for those who would like to start investigating this), and people have been investigating how to use the new build mechanism in https://forums.unrealengine.com/show...t=distributing . I am not planning to dig into this myself though, as I currently don't work with UE4.
    thanks Kalms!
    i will read the topic and try their new methods

    Leave a comment:


  • replied
    Yep -- it appears that Epic are phasing out Rocket in favor of a new build process. There are some notes to that effect in https://forums.unrealengine.com/show...l=1#post575178 (with suggested command lines for those who would like to start investigating this), and people have been investigating how to use the new build mechanism in https://forums.unrealengine.com/show...t=distributing . I am not planning to dig into this myself though, as I currently don't work with UE4.

    Leave a comment:


  • replied
    GUBP.ExecuteNode: System.IO.FileNotFoundException: 未能找到文件“D:\prg\UnrealEngine\Engine\Build\InstalledEngineFilters
    .ini”。
    文件名:“D:\prg\UnrealEngine\Engine\Build\InstalledEngineFilters.ini”
    在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShar
    e share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolea
    n useLongPath, Boolean checkHost)
    在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileO
    ptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
    在 System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 buffe
    rSize, Boolean checkHost)
    在 System.IO.StreamReader..ctor(String path, Encoding encoding)
    在 System.IO.File.InternalReadAllLines(String path, Encoding encoding)
    在 AutomationTool.FileFilter.ReadRulesFromFile(String FileName, String SectionName, String[] AllowTags) 位置 D:\prg\U
    nrealEngine\Engine\Source\Programs\AutomationTool\AutomationUtils\FileFilter.cs:行号 216
    在 Rocket.StripRocketNode.DoBuild(GUBP bp) 位置 d:\prg\UnrealEngine\Engine\Source\Programs\AutomationTool\Scripts\Roc
    ketBuild.Automation.cs:行号 447
    在 AutomationTool.LegacyNode.DoBuild() 位置 d:\prg\UnrealEngine\Engine\Source\Programs\AutomationTool\GUBP\Nodes\Lega
    cyNode.cs:行号 81
    在 GUBP.ExecuteNode(BuildNode NodeToDo, Boolean bFake) 位置 d:\prg\UnrealEngine\Engine\Source\Programs\AutomationTool
    \GUBP\GUBP.cs:行号 1545
    Program.Main: AutomationTool exiting with ExitCode=1 (Error_Unknown)
    BUILD FAILED

    test in 4.13:
    seems InstalledEngineFilters.ini has changed to InstalledEngineFilters.xml, but code is outdate.

    Leave a comment:


  • replied
    Originally posted by rau_torus View Post
    Hi all,

    First of all, thanks to all who have contributed to working out how to get a Rocked build made. We don't plan to make many changes to the Unreal Engine as a whole, but would like to be able to distribute a custom build to the team with Win64 + PS4 + Xbox One support.

    I've managed to create a rocket build for distribution as per instructions on this thread with 2 target platforms Win32 + Win64. Now we also have access to PS4 and in future Xbox One portions of the Unreal Engine and I've added both those platforms to -TargetPlatforms=Win32+Win64+PS4+XboxOne but it still only generates a rocket build that only create Win32 + Win64 cooked builds. Is it possible to add the Xbox One and PS4 build targets to a rocket build and if so, how do you do this because adding the extra targets to -TargetPlatforms command-line parameter doesn't seem to do anything extra?
    This can be done but it requires source code modification. I suggest you take the question to the appropriate forums. (sorry, I do not have access to those.)

    Leave a comment:


  • replied
    Hi all,

    First of all, thanks to all who have contributed to working out how to get a Rocked build made. We don't plan to make many changes to the Unreal Engine as a whole, but would like to be able to distribute a custom build to the team with Win64 + PS4 + Xbox One support.

    I've managed to create a rocket build for distribution as per instructions on this thread with 2 target platforms Win32 + Win64. Now we also have access to PS4 and in future Xbox One portions of the Unreal Engine and I've added both those platforms to -TargetPlatforms=Win32+Win64+PS4+XboxOne but it still only generates a rocket build that only create Win32 + Win64 cooked builds. Is it possible to add the Xbox One and PS4 build targets to a rocket build and if so, how do you do this because adding the extra targets to -TargetPlatforms command-line parameter doesn't seem to do anything extra?

    Leave a comment:


  • replied
    Anybody have problems with build 4.11.2 and using it?
    Mine builds fine, but when I try to generate projects I got error

    GetBuildPlatform: No BuildPlatform found for Win64

    Any clues why this happens? Source build works fine.

    PS. Ok, i fixed it by making -CleanLocal build
    Last edited by Yata; 04-28-2016, 11:14 AM.

    Leave a comment:


  • replied
    How to do Rocket build is also shown in this Answerhub thread. It actually ends up being pretty simple. I've had to make two quick changes for it to use VS2015 for PDBCopy as part of the process, and had to add the folders for the Templates as shown in the thread otherwise you may get an error. But once you do that it's one command line call and looks identical to the Epic launcher builds.

    This also works in 4.11:
    https://answers.unrealengine.com/que...nternally.html

    Leave a comment:


  • replied
    Originally posted by Kalms View Post
    Thanks for sharing your knowledge so far.

    I have done some testing myself, and managed to create a Rocket-style build. My findings so far are in this Git repository: https://github.com/Kalmalyzer/UE4RocketBuild

    Currently I can create a Rocket style build without doing any source code changes. A Win64-only build becomes 12GB in size, including template projects.

    I haven't worked out a good way to distribute and register the build to team yet, but I suspect that registration would just be a matter of assigning a non-GUID ID and manually registering it in the same way that the logic in UnrealVersionSelector does it, followed by running UnrealVersionSelector.
    Hi guys, just a heads up, this works perfectly with 4.11;

    I didn't expect but it bundles custom plugins too.

    12Gb output 7zips down to 3Gb.

    Leave a comment:


  • replied
    Originally posted by chrisvarns View Post
    ... I work for a middleware vendor who maintain a UE4 integration, and our aim is to produce a Rocket build which we can push downstream to the subset of our customers who don't modify engine source, and just want to have the off-the-shelf experience they get from the launcher distributed vanilla builds, but with our special sauce. ...
    And I build an engine based on various github forks that provide extra functionalities. And some of those forks have additional APIs and API keys which are restricted to my own machine.

    We have a team of developers across two continents, each developer is using its own version for his/her own little specialty, then I merge the whole back into my engine. A custom build would be a boon to our development.
    Last edited by DrHobo; 03-02-2016, 05:10 PM.

    Leave a comment:


  • replied
    Originally posted by Harley_J View Post
    I'm going to bump this one too because I also ran into the dictionary key issue as well "ERROR: Exception in mscorlib: The given key was not present in the dictionary.".

    Has anyone figured this one out what key is not in the dictionary for that rocket script and how to solve it?
    Bumping this too as I have the same issue. If anyone from Epic is watching this, it would be extremely helpful if you posted some instructions on how to set up an environment, and what the process is to reproduce your launcher distributed builds. I work for a middleware vendor who maintain a UE4 integration, and our aim is to produce a Rocket build which we can push downstream to the subset of our customers who don't modify engine source, and just want to have the off-the-shelf experience they get from the launcher distributed vanilla builds, but with our special sauce. Any help much appreciated!

    Leave a comment:


  • replied
    Originally posted by lekjart View Post
    Thanks, I think I got it figured out now. Mostly...

    Only thing that I haven't really managed is to redo a rocket build after a succesful one. There must be some config file somewhere that tells the build system that it has already created a rocket build and it doesn't go into a full rebuild because of it. I tried deleting the LocalBuild folder and the Saved/Rocket folder but that only results in errors when I run the RunUAT command. I used forceincrementalcompile, so I was hopeful I wouldn't need to do a full delete and cloning to get back doing a build after changing a few files. I am sure it's possible but I can't figure it out. Anyone has done that successfully?
    Well the below contains some chicken scratch notes I took as I went through this months ago, not quite sure how accurate they are or if I am missing anything.

    + The "-CleanLocal" parameter deletes the manifests from Saved\GUBP directory. Those manifests determine whether a node script has been completed or not. If a manifest is there it will skip I think. So This might be all you need, but it will do a full build.
    + The "-ForceIncrementalCompile" parameter prevents the build from cleaning.
    - A big caution, if I remember correctly I think it was this parameter that will complain if binaries are compiled in non-rocket before running the rocket build again.

    The incremental build with minimal changes is also on my TODO list. I did write up a custom GatherRocket node script to not copy the entire rocket build over and just the changes. However, there are more files that compiled that were unnecessary from a simple change.

    This is what my thoughts on it (Just a reminder, I'm still using version 4.8.2):
    Each node script has a list of dependent node scripts and a DoBuild() method. If you pass in "-OnlyNode", the dependencies are skipped.
    The node GUBP.GamePlatformMonolithicsNode (I think the name of the node is "UE4_Win64_Mono_Precompiled") compiles in the DoBuild():
    + UE4Game Development.
    The node GUBP.ToolsNode ( I think the name of the node is "Tools") compiles in the DoBuild():
    + CrashReport (shipping)
    + UE4EditorServices (development)
    + UnrealCEFSubProcess (Development)
    + UnrealFileServer (Development)
    + UnrealLightMass(Development)
    + UnrealPak(Development)
    + UnrealVersionSelector(Shipping)
    + BootstrapPackage(Shipping)

    I haven't tried it, but I was thinking of writing a shell script that only removes those single node manifests and running those nodes separately with "-OnlyNode" and "-ForceIncrementalCompile", then also run my custom GatherRocket node script I mentioned earlier to package the changes.


    There might be an easier way to do that. lol. I just haven't gotten back into the build process yet.

    Leave a comment:


  • replied
    Originally posted by Harley_J View Post
    @lekjart

    I'm guessing you are on 4.10. I haven't touched that version yet. However, if you don't need to do the DDC, you can skip it by adding the -NoDDC parameter to the command line.
    You can read this to see if you need to build it or not: https://docs.unrealengine.com/latest...che/index.html
    Thanks, I think I got it figured out now. Mostly...

    Only thing that I haven't really managed is to redo a rocket build after a succesful one. There must be some config file somewhere that tells the build system that it has already created a rocket build and it doesn't go into a full rebuild because of it. I tried deleting the LocalBuild folder and the Saved/Rocket folder but that only results in errors when I run the RunUAT command. I used forceincrementalcompile, so I was hopeful I wouldn't need to do a full delete and cloning to get back doing a build after changing a few files. I am sure it's possible but I can't figure it out. Anyone has done that successfully?

    Leave a comment:


  • replied
    @lekjart

    I'm guessing you are on 4.10. I haven't touched that version yet. However, if you don't need to do the DDC, you can skip it by adding the -NoDDC parameter to the command line.
    You can read this to see if you need to build it or not: https://docs.unrealengine.com/latest...che/index.html

    Leave a comment:


  • replied
    @Kalms

    I tried your addition and was successful in building a local build up to the point where it tried building the DerivedDataCache. At that point, the editor cmd failed because it could not load a DLL that it was looking in a VS2013 folder. Apparently the build script only copies the VS2015 folders in ThirdParty binaries, even though all my environment is supposedly 2013. By manually copying the VS2013 folders, I managed to make it work. Not sure how I can force the whole rocket process to assume VS2013. I also had to explicitly add a ThirdParty folder that was specific to my build, but I don't see where the list of ThirdParty things to be included in Rocket build is.

    Any pointers?

    Edit: found the file InstalledEngineFilters.ini which seems the likely culprit
    Last edited by lekjart; 02-21-2016, 08:14 PM.

    Leave a comment:


  • replied
    The rebuild build button without a confirmation is beyond evil We have some own engine modules that contain common functionality that we reuse, so there is where we got a ton of changes.

    Leave a comment:

Working...
X