Patching system best practices suggestions

Hi All,
I want to start saying I’m pretty new to this topic.

I’ve read the documentation here:
https://docs.unrealengine.com/en-US/…ing/index.html
https://docs.unrealengine.com/en-US/…tch/index.html

Along with some threads in this forum, in particular:
https://forums.unrealengine.com/comm…ecommendations

but I still have doubts about how the releasing/updating of a game should be done.

I’m not looking for platform specific (like mobile) solutions nor how to release updates on steam.

The main idea for my workflow is to have a game updater that releases and patches the game time after time.

The game is windows only (but if you have hints on other patforms fell free to share).

My doubts are:
Which is the best way to create patches in unreal? Having a single release and then release patches based on that release as a single patch file (.pak) replaced every time? Or there is a way to made incremental patches?

Which UE file should I keep versionated? They say cooked file in documentation but this mean using a lot of storage. Is there another solution to have less disk usage?

Is someone able to share some hints or detailed explanation or a workflow example for this topic?

Thanks a lot!

Am I asking for something obvious? Has someone something to share about this?

There are commercial software like this one, price is unknown doubt it’s cheap : https://www.pocketsoft.com/
Then there are open source software you could use to create your own custom patching system, like these:
http://jojodiff.sourceforge.net/
http://xdelta.org/
GitHub - Moodkiller/xdelta3-gui-2.0: A GUI for creating patches with xdelta3 REBOOTED

JojoDiff doesn’t seem free to use for commercial projects so emaiing the author might be wise.
XDelta3 switched to the Apache license so it can be used for commercial projects with no issues, it was GPL before that would have been an issue for any commercial use.