Content Cooking for Multiple Platforms

I would like to know if it is possible to cook my content for all the platforms from one system.

For example:

Cook Windows, WindowsNoEditor, IOS, Android from one cook command on one system

With Unity I could cook my content for all platforms from Mac, but couldn’t cook IOS content from Windows. Just wondering if I can do the same thing as we are migrating our project to Unreal.

Thanks in advance for any help!

Howdy blurdot,

You should be able to accomplish this by using the Unreal Frontend, located by using this route: Unreal Engine\4.4\Engine\Binaries\Win64. In that folder you should be able to find the Unreal Frontend Application. Double click to open it and under the game launcher tab, Select the Build option and you should be able to build that way.

Let me know if you need anymore information.

Thanks and have a great day!

Well, not sure if that will work for me. I need to be able to run the CookCommandlet each time an asset gets imported through our pipeline and have it cook the asset (SkeletalMesh, Materials, PhysicsAsset, Anims, Textures, etc) for each platform we support. These assets are stored in the cloud and downloaded at runtime, so we cook them outside of our main project.

I currently have the CookCommandlet producing the cooked content for Windows, WindowsNoEditor and Android when I run it from windows, but I will probably be running this from our Mac Servers.

Can the CookCommandlet cook content for all platforms? Are there limitations based on which platform you run the CookCommandlet on?

Thanks!

CookCommandlet from a Windows machine will give me “Invalid Target Platform Specified” with these platforms:

  • LinuxServer (from ue4 documentation)
  • PS4 (from ue4 documentation)
  • XBoxOne (from ue4 documentation)
  • Mac
  • MacClient
  • MacNoEditor
  • HTML5

What does work is:

  • Windows (not from documentation)
  • WindowsNoEditor
  • Android (after installing the Android SDK)
  • IOS

I need information on how to cook content for these other platforms. Please advise.

That indicates that the platform support isn’t compiled. I assume you are using a launcher build, and not GitHub. We don’t supply all platforms in the binary build for all configurations. If you get a GitHub build, install the SDKs, generate projects, and build Win64, you will be able to cook for everything from Windows.

We haven’t really done much Mac cooking from Windows, but I can’t think of a reason it wouldn’t work.

I am using a github build actually. Is there some kind of additional configuration I need to do?

Is there an SDK for HTML5 or Mac?

For Mac, no. For HTML5, there is Emscripten. PS4 and XboxOne will need the extra .zip downloads (after you get access, since we can’t give access for those to everyone).

There are some docs for Emscripten in here: Engine\Documentation\HTML\INT\Platforms\HTML5

Thanks Josh, I’ll check that out.

Josh,

After installing Emscripten and connecting it properly, I am still unable to cook HTML5 uassets using the CookCommandlet.

Is there another way to do this? Do I need to modify anything in the cookcommandlet to open up HTML5 as an option for cooking?

Thanks in advance for any help!

Did you build the editor after installing Emscripten? UnrealBuildTool will look to see what you have installed when deciding what to compile. The UEBuildHTML5.cs function HasRequiredManualSDKInternal() will give an indication what it’s looking for.

Oh, I had to do a full rebuild. It seems to be working now. Thanks Josh!