There is no difference between the two species.
System.GC.Collect() tells the .Net collector to collect objects that are mono-managed in a managed heap, and Resources.UnloadUnusedAssets - assets (textures, sounds, and other media) that are placed in the native heap. The two methods do completely different things, so there is no other that will be executed first. (As you said, they are both asynchronous, and you simply set a flag to suggest to the system that this may be the right time to collect.)
In fact, itβs not so often to call the GC to assemble yourself, except that you have a good reason. GC systems will run at the right time, most of which require forced garbage collection, not as necessary as you think.
If you are interested in learning about Unity memory, you can refer to this blog , which can tell you in detail.
source share