I have been doing some experimentation with the Asset Manager, and have come to an abrupt halt. I will try to explain as clearly and concise as I can.
I have a C++ class derived from
UUserWidget which I want to be a new PrimaryAssetType, as this new class will be the base class for all user widgets in my project. I have overridden the
GetPrimaryAssetId() function and have set up the Asset Manager in Project Settings.
My problem is that running in PIE and Standalone, I get the desired functionality I need. When I dump the Asset Manager using
AssetManager.DumpAssetTypeSummary(); I see that it has 1 asset of PrimaryAssetType ‘UserInterface’. However, if I cook and package my project,
AssetManager.DumpAssetTypeSummary(); states that there are 0 of PrimaryAssetType ‘UserInterface’.
I have also created a class from
UPrimaryDataAsset and have a property of
TSoftClassPtr and selected my
UUserWidget derived class. I can set this to be any widgets created from my derived class. This solution works for PIE/Standalone and Cooked&Packaged games.
What I want to know, why is it not working with Blueprint Widgets? In the documentation it states that it can work with any UObject that overrides the
I have triple checked and tried many different combinations of Project Settings combinations. I have even selected a test widget from my
UUserWidget base class as ‘Include Specific Asset’.
Also, in the Audit Asset window, it’s showing the correct PrimaryAssetType.
For some reason, I don’t think these widgets are being packaged properly.