[EDIT: Still a problem] Attached is a sample project - very small - that I’m trying to strip to an absolute minimal spec. I’ve tried a few different paths but none of them seem to work - if someone could tell me what’s wrong I’d be very grateful!
[EDIT: Worked out!] A second question is how to get RunUAT or similar to build only the DLC plugin (that’s what cookDLC is meant to be doing).
Nope. I’ll probably be back testing in that area later in the week. Is there anything obviously wrong with the blacklists I have in the zip attached to my first post?
The success post above was to confirm I could build DLC.
So, I was able to run your RunUAT without any trouble, once I changed the location to match what’s on my computer. So hopefully that isn’t an issue you’re experiencing any longer.
Looking into the Pakblacklist issue you’re running in to, I was unable to find much information on it. However, I did find an [AnswerHub post][1] which has a suggestion that may actually help you. Please try their suggestion and let me know.
We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will offer further assistance.
I’ve followed that post - and a couple of others but have yet to reduce the created pak file size.
For instance, I’d like to remove all Engine/Content/Slate files from my WindowsNoEditor build. I’ve created a PakBlackList-Development.txt file in my Build/WindowsNoEditor folder and put the fully qualified path in it:
MyProject/Build/WindowsNoEditor anything that isn’t a black list file
MyProject/Saved/Cooked
MyProject/Saved/StagedBuilds
MyProject/Intermediate/Staging
And build.
Looking at the built pak file using UnrealPak pakname -List (where pakname is MyProject\Saved\StagedBuilds\WindowsNoEditor\MyProject\Content\Paks\MyProject-WindowsNoEditor.pak) I can see that there’s a lot of Engine/Content/Slate files in there.
Which makes me think the blacklist isn’t working.
Note that RunUAT works fine in that the pak file created is valid and there are no errors, it’s just 13MB for a completely empty project and I’d like to reduce that to the bare minimum which is what I thought the black lists were meant to help with.
I packaged your project using the format …/…/…/Engine/Content/EditorMeshes/ColorCalibrator/ (example) and noticed that files were excluded from the build. It went from 217 megabytes originally to 174 megabytes once packaged using the method above to exclude files.
If you’re using 4.9 or above, you can place a text file in your projects Build/Platform/(TargetPlatformFolder) directory which tells the cooker to exclude partial or complete file-paths from being packaged into your project.
Example - Blacklist Text File Location & Name: TappyChicken/Build/Android/PakBlacklist-Shipping.txt:
…/…/…/Engine/Content/EditorMeshes/ColorCalibrator/
…/…/…/Engine/Content/EngineDebugMaterials/
…/…/…/Engine/Plugins/Runtime/LeapMotionController/
The first three entries should be safe for any project, but there may be cases were the AssetRegistry.bin is needed at runtime depending on your project. It is highly recommend that you thoroughly test to ensure that the content you are removing will not negatively impact your project.
Yep - 'fraid to say I’ve followed those directions with multiple variations and not been able to remove files from my pak that I’m trying to nuke.
Given the process as outlined is pretty simple either I’m missing something silly, or there’s a issue with the process that prevents it working in my environment.
Before we continue though perhaps you could confirm that you can remove slate content from your pak file.
Add this line to your black list file: …/…/…/Engine/Content/Slate/
Build the pak file (perhaps delete intermediate, saved and anything that isn’t a blacklist file under your build directory before approaching this? I read that someone needed to so I’ve been doing it religiously each attempt).
Confirm that your pak file does not contain Engine/Content/Slate content
To do this last step use UnrealPak to list the files within the resultant pak file. For instance:
So, I have looked into this further, and I have noticed that the Project\WindowsNoEditor\Engine\Content\Slate stays behind once it’s packaged, even when you use the UnrealPak to verify. With that being said, I have submitted a bug report to our Developers. I will update this post when UE-26771 has been fixed, or if there has been clarification provided that wasn’t included in our documentation.
The thing that I don’t see answered here or on any of the documentation is where the paths are relative to defined in the blacklist file. Does anyone know?
UnrealUAT.exe I suspect - so C:\Program Files (x86)\Epic Games\4.11\Engine\Binaries\Win64 in my case. However it maybe that your own project directories are mounted relative to this somehow - also I’m not sure why you would need the extra …/ and Engine/ in the below example so maybe I’m just wrong…