The main thing about UGC is that it provides custom editor folders where assets have a custom virtual path (eg. /Mod1/SomeBlueprint.uasset), which you can then cook individually.
The rest is essentially standard UE behavior. Engine loads all paks it finds (in various paths) by default, and it loads their contents into asset registry. Then you can use standard AssetRegistry search methods to find and load assets dynamically. There’s no plugin required to do any of this.
So I would say the PakCreator plugin looks interesting, but the Primer posted above seems to imply that packaging plugin contents into their own pak, with their own virtual path, is already the standard behavior. So if that works I don’t really get the point of that plugin. I’m not familiar with plugin content paks but it’s probably worth exploring that direction.