https://github.com/humbertodias/retrounityfe
Unity frontend for the libretro API
https://github.com/humbertodias/retrounityfe
libretro-api unity
Last synced: about 1 year ago
JSON representation
Unity frontend for the libretro API
- Host: GitHub
- URL: https://github.com/humbertodias/retrounityfe
- Owner: humbertodias
- License: gpl-3.0
- Created: 2016-08-03T00:30:25.000Z (almost 10 years ago)
- Default Branch: main
- Last Pushed: 2025-03-13T04:07:58.000Z (over 1 year ago)
- Last Synced: 2025-04-06T05:18:33.489Z (about 1 year ago)
- Topics: libretro-api, unity
- Language: C#
- Homepage:
- Size: 25.1 MB
- Stars: 46
- Watchers: 4
- Forks: 14
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/humbertodias/RetroUnityFE/actions/workflows/cd.yml)

# RetroUnityFE
RetroUnityFE is a frontend for the **libretro API** built in **Unity 6+**.
[RetroUnity-demo.webm](https://github.com/user-attachments/assets/6af507c6-a1e5-4475-b221-fb9dfb2d859a)
| Input | Action |
|:------------:|:------------:|
| 5 | Insert Coin |
| WASD/Arrows | Move |
| Enter | Start |
| P | Pause |
| Ctrl | Punch |
| Alt | Jump |
## đ Documentation
For detailed setup and usage instructions, see the [Wiki](https://github.com/Scorr/RetroUnity/wiki).
## đŽ Tested Platforms
* [x] Linux
* [x] MacOS
* [x] Windows
* [x] Android
* [ ] iOS
## đ Features
* [ ] Savestate
* [ ] Rewind
## đ External Assets
The following assets are used in this project:
- **[Flatscreen TV](https://assetstore.unity.com/packages/3d/props/electronics/flatscreen-tv-9721)** by Rutger Klunder
- **[Free Furniture Set](https://assetstore.unity.com/packages/3d/props/furniture/free-furniture-set-26678)** by Lef
- **[LibRetro for Linux](http://dimitry-i.blogspot.com/2013/01/mononet-how-to-dynamically-load-native.html)**
## đ§ Setup Instructions
### đ Shared Library & ROMs
Place shared libraries and ROMs inside the `Assets/StreamingAssets/` folder.
### đ ī¸ Install Dependencies (Linux)
```sh
sudo apt install libretro-snes9x libretro-snes9x-next
```
### đŽ Running a Game
```sh
retroarch --libretro /usr/lib/libretro/snes9x_libretro.so "Classic Kong Complete (U) V2-01.smc"
```
```sh
RetroUnityFE --libretro /usr/lib/libretro/snes9x_libretro.so "Classic Kong Complete (U) V2-01.smc"
```
## đšī¸ Tested Libretro Cores
The following cores have been tested and confirmed to work:
- **snes9x** (Super Nintendo)
- **blastem** (Sega Genesis)
- **genesis_plus_gx** (Sega Genesis)
- **nestopia** (Nintendo Entertainment System)
- **mgba** (Game Boy Advance)
- **mame2003_plus** (Arcade)
- **vecx** (Vectrex)
- **yabause** (Sega Saturn)
[Download latest cores](http://buildbot.libretro.com/nightly/) for your operating system and processor
## đ References
- [SNES SDK](https://github.com/optixx/snes-sdk)
- [Classic Kong](https://github.com/nathancassano/classickong)
- [Flatscreen TV Asset](https://assetstore.unity.com/packages/3d/props/electronics/flatscreen-tv-9721)
- [Furniture Set Asset](https://assetstore.unity.com/packages/3d/props/furniture/free-furniture-set-26678)
---
đŽ **RetroUnityFE** is an open-source project that aims to bring a seamless frontend experience for **libretro** cores in Unity!