I highly recommend to avoid trying to understand “everything”. That doesn’t work well in large code bases. The best approach is to get rough understanding, then concentrate on what seems to be related to the problem and forget most of it once you’re done fixing it.
Mesh, Material and Texture creation can be split into two parts:
First where you check if UPackage exists and generate/sanitize name. That one can be templated.
Second is the factory call which is different for every factory.
Also, you have different outcomes because they’re different factories.
There is no guarantee anywhere that different factories will behave in similar fashion even though they share the same base class.