Usage would be something like this in a concrete FDerivedDataBackendInterface implementation: class MyBackend : public FDerivedDataBackendInterface {FDerivedDataCacheUsageStatsUsageStats; public:=""> { auto Timer = UsageStats.TimeExists(); ... }=""> { auto Timer = UsageStats.TimeGet(); ...Timer.AddHit(DataSize); // Misses are automatically tracked }=""> { auto Timer = UsageStats.TimePut(); ...=""> Timer.AddHit(DataSize); // Misses are automatically tracked }=""> { // Add this node's UsageStats to the usage map. Your Key name should be UNIQUE to the entire graph (so use the file name, or pointer to this if you have to). UsageStatsMap.Add(FString::Printf(TEXT("%s:"), *GraphPath), UsageStats); } }