I am not fan of HTTP file servers. I was thinking to make download/update server with UE.DTLS. With ability to limit download speed by users.
I was going to make own UFileChannel : UChannel, but then i found this:
// @todo: Remove and reassign number to CHTYPE_Voice (breaks net compatibility)
CHTYPE_File = 3, // Binary file transfer.|
Seems UE already had such channel before. So why did you remove it? I think you should get it back with async saving/loading handler interface, or smth like that.
Also, would be nice to make such file server/client compatible with BuildPatchServices, instead of HTTP.
I hate HTTP.