First i m cooking all my assets with command line. You can use FMonitoredProcess class to call command line from code. Then i call UnrealPak.exe using the same class to create pak file. To mount pak files you can use this code:
IPlatformFile& InnerPlatformFile = FPlatformFileManager::Get().GetPlatformFile();
FPakPlatformFile* PakPlatformFile = new FPakPlatformFile();
FPlatformFileManager::Get().SetPlatformFile(*PakPlatformFile);
PakPlatformFile->Initialize(&InnerPlatformFile, TEXT(""));
bResult = PakPlatformFile->Mount(*PakFileName, PakOrder, *MountPoint);
The most not obvious thing about this process are paths to files. Files need to be mounted in engine dir. Game dir just doesnt work - i have no idea why. Also remember that assets are referenced with relative paths, so you need to keep the same catalog structure.
If you have more specific questions feel free to ask. Good luck.