UnrealLibretro is a Libretro Frontend for Unreal Engine. It is a Blueprint compatible library that lets you run emulators within Unreal Engine. More Technically it allows you to run Libretro Cores.
Information about platform and Libretro Core compatibility can be found here.
Download the latest release Extract the archive and place it in your project's plugins folder.
Clone the repo into your Unreal Engine project's Plugin folder.
Run the associated setup
script for your current platform. If Windows double-click the setup.cmd
Then in the Windows file explorer navigate to the root directory of your project and right click the .uproject file then select "Generate Visual Studio project files" in the context menu.
You can download Libretro Cores directly from the Unreal Editor. If that isn't working try accessing downloading them from the buildbot
You know and I know you know where to get these. Once you have the one you want place it into your MyROMs folder.
Some cores require that you also provide a content folder. PPSSPP is one example. Mainly this just involves taking a folder from a release of the emulator and moving it into the UnrealLibretro/System
directory. There might be weirder ones. You can probably just find them by googling or searching the Libretro docs.
- Restart your project if you performed the setup process while the Unreal Editor was running
- Enable "Show Plugin Content" from the Content Browser options
- Navigate to UnrealLibretro's content folder in the Unreal Editor Content Browser, and open the example map LibretroMap
- Click on an actor and in the
LibretroCoreInstance
actor component set the Libretro Core first then the ROM
Mainly what needs to be worked on is Libretro Core compatibility and probably fleshing out ULibretroCoreInstance
to incorporate more of the API libretro.h
exposes. More information about contributing can be found here.
You should post an issue if you have a problem or discover a bug. If that is too intimidating or for more basic troubleshooting you can post in the Discord.
This project is licensed under the MIT License - see the LICENSE file for details