Garbage Collection/Reachability Analysis, Clustering, DisregardForGC and asset specific strategies

Hi! This isn’t *technically* a programming question but more generally engineering related concerning things from a higher level than just writing some code, although inevitably I will have to override CanBeClusterRoot() and CanBeInCluster() for several types.

As the title states, I’m really curious about how to improve reachability analysis, mainly by reducing the number of things the GC system will have to iterate through to mark as reachable/unreachable.

I found the stats in the detailed GC log info to be somewhat useful when enabled, but I wanted more information so wrote some bespoke logging code in the FastReferenceCollector for the ProcessObjects() function to log the name of every Object it iterates through when doing GC, specifically, and I see an awful lot of things that would exist for the lifetime of the game like

InputActions
Subsystems
Main Character and always present NPCs

and am thinking all of these don’t need to be iterated over every time the reachability analysis kicks in.

I know of Open/CloseDisregardForGC but how can I make sure any UObjects I want instantiated in that window are created then? Is there a best practice for this? Should we be adding explicit calls to these functions in the engine and making small engine modifications that way?

I’m familiar with actor clustering and will set static meshes and other actors in world as “can be in cluster“, but with regards to asset clustering, are these asset clusters created during a cook?
We have animation montages with references to AnimNotifys and I can see in my custom logging code that all of the notifys are iterated over in the reference collector - for specific assets to cluster should I override CanBeClusterRoot and override CanBeInCluster for the notifys?

I apologise for the long post with multiple questions, but as they are all related and I’m not spamming the forum with multiple related questions I hope you can forgive me!
Also massive thanks in advance for any answers/info