I’m trying to build a utility that checks to see if all of my assets that are in a project have “Source Files” that are located within the project. I want to ensure that source control for the ue4 project includes all of the source that assets were built from. I only need to generate a text report that I can use as a reference to find the source files that are in the wrong place.
I’ve started building a plugin that grabs filtered assets via the AssetRegistryModule.Get().Get().GetAssetsByPath(), but now with this list of my assets in the format of FAssetData, I don’t see a way to check their “Source File”, only their name, package, and similar info.
Questions:
Is there a way to pull the Source File info from FAssetData struct?
Am I going about this the right way with Asset Registry? I’m not yet convinced that I haven’t missed an easier solution.
For those interested, I ended up solving this with the following engine tools in a UE4 plugin
Core UE4 tools used (Check online docs if you want to know more details)
AssetRegistry and FARFilter - How we get all assets in the project, use the filter to only grab things with a source asset
IFileManager - File copy utility
FPaths - path management
FReimportManager - singleton used to reimport specific asset
FEditorFileUtils - Save dirty packages after reimport
ISourceControlModule - source control history reading
Hello JoeZ_V, Thank you for sharing your solution, I was wondering if you could be more specific about how you actually searched the AssetRegistry and what you used in your Filter, an example would be great. My background is more on the Python side, but trying to understand how to code for the editor on the cpp side, but I’m finding it confusing so far.