I’m late replying, but I believe patcher still works. I tested it on Windows and it works fine. You’ll want to test it on OS X, Android, and iOS yourself.
Here is a link to an example app using it. Read main.lua to puzzle out what is happening in the example:
https://github.com/roaminggamer/RG_FreeStuff/raw/refs/heads/master/myPluginSamples/patcher/patcher-example.zip
Also, be aware you don’t have to use it as a plugin. You can get the source for patcher.lua from my RG_FreeStuff repository on github.com here: https://github.com/roaminggamer/RG_FreeStuff/raw/refs/heads/master/Products/patcher/patcher.lua
Just remove the plugin stuff from build.settings:
plugins =
{
["plugin.patcher"] = { publisherId = "com.roaminggamer" },
},
, then include the patcher.lua file in your project and require it directly.
Note: You will want to use patcher’s version of require all the time. Again, see main.lua of the example to puzzle out how it works.
As a starter try this sequence of interactions when you run the example app.
- Click the top 3 sliders (leave caching off).
- Click the ‘Load Module’ button.
- Click the ‘Test Module’ button. This will use the original (local) copy of the module and its functions.
- Click ‘Download Patch File v3’
- Click ‘Test Module’ button again. Notice it still runs the original copy of the script file.
- Click ‘Load Module’ then click ‘Test Module’. Notice it now uses the v3 version of the myModule file.
I think you can puzzle out the rest by reading the example and playing with the app.
RG_FreeStuff++: