Resource Patch Plugin

I have implement a resource patch plugin, it is used to generate changed resources paks base on last version easily, without modify engine code, just cook your project, don’t need to package project, then run a .bat file to generate patched paks.
Easily, download patched paks by the http module, you can see your changed things immediately in developing (I support a simple hot update module). Code your rules, it’s very convenient to do hot update in game .
Feature video: Making Patch Paks in Unreal Engine 4 - YouTube
MarketPlace: https://www.unrealengine.com/marketp…resource-patch

2019-9-9

Version 2.0:

  • Update to support 4.23
  • Automatic create AllFileList.txt file when generate released info .
  • Change default http server in demo project to ‘127.0.0.1:8000’

2020-1-3

  • Update to support 4.24

Q:
I purchased this. You really need a support page for this plugin, and your video instructions are not easy to follow. After searching for a little bit I found the downloadable example project ‘ResPatchProject’ via the Engine Plugin ‘Docs/Demo Link.txt’ file. Nowehere did it tell me to look there. However I only see ResHotUpdate in the plugins folder of the example project and not ‘ResPatch’ as is shown in your instructional video. Where can I find ‘ResPatch’ plugin?

A:
Thanks! First, you should download ‘ResPatch’ plugin from Epic Launcher, and it will be in ‘D:\Program Files\Epic Games\UE_4.22\Engine\Plugins\Marketplace\ResPatch’, Then, you can open the demo project, also, you can copy ‘ResPath’ plugin to your project plugins path and uninstall from engine. I will give a support page for detailed description as soon as possible, if you have any problems or suggestions, please contact me.

Q:
I see its usage in a final game if it is distributed without Steam (Steam has its own patch system). Will that patch system work in a shipping build?

A:
Yes, this feature is not needed for games published in stores, for example, steams, PS4, Xbox. But if you just update resources , you can skip APP store ! The main feature of this plugin is to generate patched paks in editor mode, but I have implemented a simple hot update plugin in demo to test this plugin.

Thanks I figured out the copy Engine Plugin to Project Plugin location,… I had issues with http/server.py in my python installation (3.6 from my own AAMPS based webserver) not working, (not correctly pointing to the newly named SocketServer.py module) fixed that and am able to launch the python web server with your server.bat, but how can i be sure the root of this python web server i launch is set is set to WindowsNoEditor/Paks …

Right now when I hit “Enter Game” it just says download failed.

Retried the whole thing. “Enter Game” just does nothing or sometimes I get the “Download Failed”. Will give up for now, unless you have something to try there.

How do I validate that there are pak files in the correct place to download? I’m assuming WIndowsNoEditor/Paks under the Project/cooked/WindowsNoEditor/PakDemoProject/Content/Paks folder.

There is just the default one: PakDemoProject-WindowsNoEditor.pak … I am hopeful this will work but at the moment i’m not feeling like it’s going to.

Where can I view the bit of code that is doing the download? So i can see what’s going on there…?

Where can I find debug info as to why the download failed?

Also the DownloadMap that came with your ResHotUpdate plugin from the example file that needed to be downloaded from your google drive is empty as far as I can tell. Is that to be expected? Where Can I find the example map from the Project you are showing in the video? I assume that you are just showing an example game there, and expect that we use our own, but it would be nice to also have that “user” project map so i’m doing everything the same… i’m not sure if you have your setting set to shipping, ‘use pak’, etc… for the packaging options… when we build the cooked/ project.

Be sure have changed download URL in ‘/ResHotUpdate/Demo/DownloadWidget’, default is ‘http://10.0.0.82:8000’.
This is a log printed by ResHotUpdate plugin, if you still download failed, copy the url to your web browser to see if the server is working right way.
LogResHotUpdate: Set patch download url [http://10.0.0.82:8000]
LogResHotUpdate: Create download task [http://10.0.0.82:8000/WindowsNoEditor/Paks/AllFileList.txt]

Thanks I will try that. Can you please also post the packaging settings that you are using when your run your ‘cooked’ build? Not sure I’m using the correct settings.

Default paks path is /YourProject/Saved/ResPath/…

  1. To generate released info, goto 2:15 in video(https://www.youtube.com/watch?v=VbysATRmqTE).
  2. How to configure http server files, goto 2:26.
  3. Genereate patched paks, goto 3:13.

Sorry, the demo project is expected, i have upload now.
Project packaging settings in attachment photos.
Download map is an empty map, just create a widget, and add to viewport, call update function in widget blueprint.

Yesterday, i have uploaded a new version plugin to support no copy ResPatch plugin to project, when epic game check completed, i will give a notice here.

I changed download URL in ‘/ResHotUpdate/Demo/DownloadWidget’, to your suggested URL but it didn’t work.

I put the URL in the browser and found out the [http://10.0.0.82:8000]](http://10.0.0.82:8000%5D/) isn’t working on my machine, but using ‘localhost’ instead does give a valid response.

This at least gives me a response when i put it into the web browser:
http://localhost:8000/WindowsNoEdito…llFileList.txt

I get a valid response code from the python test server:
127.0.0.1 - - [04/Sep/2019 14:17:02] “GET /WindowsNoEditor/Paks/AllFileList.txt HTTP/1.1” 200 -

but when i put the URL with valid response into a browser, it doesn’t attempt to download the file via the browser like it would with my apache server, should it attempt to download with this http python server?

These photos are tiny. Have larger versions?

You need to use http://127.0.0.1:8000 instead, 10.0.0.82 is my lan address.

Try to click the photo to see larger version.

I don’t know why, but clicking the photo doesn’t give me a larger image. Even opening in a new browser, save as etc… no go. Do they open large for you?

Project-Packaging1.png - Google Drive
Project-Packaging2.png - Google Drive
DownloadMap LevelBP.png - Google Drive
UpdateInWidget.png - Google Drive

New version published, support run .bat in engine plugin path, and 4.20.3 engine version.

2019-9-9

Version 2.0:

  • Update to support 4.23
  • Automatic create AllFileList.txt file when generate released info .
  • Change default http server in demo project to ‘127.0.0.1:8000’

I reinstalled the engine and the plugin.
But server.bat does not run.

Use this .bat file, see stdout info.
Server.bat - Google Drive

Hello
I’m still having problems with server.bat

D: \ ResPatchProject \ Saved \ ResPatch> python -m http.server
‘python’ is an internal or external command, executable program, or
This is not a batch file.
Press any key to continue. . .

Is python installed or python.exe path added to system environment variable correctly? Try to run ‘python’ in cmd.