Developer Notes

When it scans for Parent it will also find the Child assets, becuase the class is "this or any subclasses". Primary assets cannot be registered to two types at the same time, so whichever type scans first generally wins. This is not a supported case, if you want to do this you need to put them in separate directories.

Description

Any child class of UDataAsset (parent) will properly be picked up when the Asset Manager's Asset Base Class" field is set to the appropriate class. However a grandchild class (Child) with the same setup is not picked up.

Note:
This also occurs if Parent is a built in class. For example, PrimaryDataAsset shows up as expected by default, but a child of PrimaryDataAsset does not.

Regression:
No - Same behavior occurs in 4.16.3 (CL 3561208)

Steps to Reproduce
  1. Open UE4 Editor (any project)
  2. Add code to project based on DataAsset (ParentDA)
  3. Add code based on ParentDA (ChildDA)
  4. In Project Settings, search "Asset" to find AssetManager
  5. Add two elements to "Primary Asset Types to Scan" array
  6. Setup additional elements as shown in attached screenshot (Replace highlighted "MyDataAsset / MyMyDataAsset" with ParentDA / ChildDA)
  7. In the content browser, add two Miscellaneous>Data Asset (1 Parent & 1 Child)
  8. Open the console and enter the command "AssetManager.DumpTypeSummary"

Result:
Type summary shows Count as 2 for Parent (expected since Child is a subclass) But child Count shows as 0. (See screenshot)

Expected:
Child count shows as 1 for the Child data asset.

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

4
Login to Vote

By Design
ComponentUE - Gameplay
Affects Versions4.16.34.17.14.19
CreatedSep 19, 2017
ResolvedSep 20, 2017
UpdatedApr 27, 2018