Actually I discovered a method of UProceduralMeshComponent called “AddCollisionConvexMesh”, which takes the list of vertices that compose the collision shell basically. That plus the bUseComplexAsSimpleCollision boolean set to false will make the procedural objects behave like they should.
To make the cube behave like any object now I just call that method after creating the section and I pass the vertices of the section to it.
Like this:
mesh->bUseComplexAsSimpleCollision = false;
mMesh->CreateMeshSection(0, mVertices, mIndices, mNormals, mUvs, mVertexColors, mTangents, true);
AddCollisionConvexMesh(mVertices);
It seems to work fine (the errors are gone), even with more complex procedural meshes!
Thanks for the help pulp_user