I have been finishing up a way to make a game easily moddable, without requiring users to download a modified engine version to do so. I found this method last year:
It requires the original base project to be structured a specific way, but only requires users to download the regular Launcher engine or through github. If anyone is going this route let me know. Using ModSkeleton, the base skeleton project is also created, to be redistributable to modders. Then the original/unmoddable portions of the game are built seperately, similar to how DLC is pakked. The modders use the “Modding uproject”, but as an independent module, not requiring the entire original base uproject.
So the game would be released with a base skeleton uproject users could open, create mods, then pak them as new DLC. The original base game would not be accessible, as it would already be in seperate cooked paks. It would have to be structured specifically, but can still be hooked in to post-mortem through the original uproject and new content injected through seperate, smaller mod paks.