- FAssetImportInfo is now marked as USTRUCT and is stored as a member value on UAssetImportData rather than using inheritance. This makes customization writing much easier and better affords UObject interoperability.
- Removed UAssetImportData::bDirty as it was only every used to enable/disable a button on the static mesh editor, and its presence caused confusion and inconsistency.
- Fixed issue where timestamps did not get updated correctly
- Fixed various reimport paths that were not updating their source file information correctly.
This addresses UETOOL-466 and UE-16406.
[CL 2646395 by Andrew Rodham in Main branch]
The majority of asset reimport machinery is now held within UAssetImportData and FAssetImportInfo. This change allows us to remove the CachedAssetsBySourceFileName map from FAssetRegistry that was previously added to support auto reimport for 4.7.
The functionality of CachedAssetsBySourceFileName has been wrapped up in FAssetSourceFilenameCache, which sits on top of the asset registry in the editor.
This unification allows us to also consistently store the file timestamps and MD5 hashes of imported files. This subsequently allows auto-reimports to be ignored where a source content file has not actually changed (its MD5 is the same).
This addresses UETOOL-365 - Rework AssetRegistry changes to support auto-reimport
[CL 2567286 by Andrew Rodham in Main branch]
Some P4V problem with backing out large changelist missed some files.
#codereview Robert.Manuszewski
[CL 2481366 by Jaroslaw Palczynski in Main branch]
Rob asked me to back out GENERATED_*_BODY -> GENERATED_BODY change for now until the "_Validate and _Implementation auto-generation" discussion is over.
#codereview Robert.Manuszewski
[CL 2481343 by Jaroslaw Palczynski in Main branch]
All children classes are recompiled before any object is reinstanced.
#codereview Nick.Whiting, Robert.Manuszewski
[CL 2451921 by Maciej Mroz in Main branch]
Changed importable asset types to explicitly add source file paths to asset registry tags
Previously this was harvested from the object's properties, but required recursing into sub objects which was not feasible.
[CL 2419469 by Ben Marsh in Main branch]
Added automatic content monitoring for all mounted content directories
Modifications to source content files that reside inside these folders will now automatically be reimported, if they relate to an asset.
New files will also be automatically imported, and deleted files will prompt the user to delete associated assets.
The feature is currently disabled by default, and enabled in Editor Preferences / Loading and Saving.
Notable features still todo/refine:
* Source files rename currently process as a delete/add
* Slow task dialogs need work. We can hopefully get it running in the background / asynchronously over multiple frames
* Batch operations need work
* Profiling/optimisation
* Various message boxes/dialogs need some refinement
* Asset import factories that are dynamically loaded/unloaded will not be picked up by the import manager. Need to figure out a good way of fixing this.
[CL 2419400 by Ben Marsh in Main branch]