I don’t think JamesG was suggesting that you cant add collision, as he then goes on to explain how to do.
I think he just meant that you cant create the mesh, and then save the collision as a cooked asset for the engine to load in the future in a packaged game context.
You absolutely can create the collision at runtime, as you are wanting to do!
But you will have to create this collision at runtime every time the game is loaded,
as opposed to saving pre-calculated collision geometry to hard disk.
It is not a big restriction, given that the collision primitives are quite low level.
You could easily create all your custom collision when the game is first loading 
I have a tutorial on how to save/load any data you want from binary file
you can of course save all of your specifications for custom collision to file, and then just load and process that file.
So it will effectively be the same as having cooked collsion minus the runtime CPU cost at the time the game is first loaded and all the collision files are processed.
You are going to have such a load cycle anyways, for your runtime generated meshes 
See my signature for the Binary Save tutorial
Enjoy!
PS: the reason for this cooked restriction I imagine is because that would involve Unreal Editor code, (not just the Runtime) which we are not allowed to reuse in our games as per the legal licensing agreement.
If you did, you’d only be able to share the resulting product with other licensees
so it is a legal issue, not an engine capacity issue.