Development Suggestions


yeah! i would love an easy-todo Border/Artwork Support, too!


I wondering if it is possible to add a counter of sorts to the playlist UI. Like for example, when hovering over your Super Nintendo playlist, on the bottom it could display how many games you currently have.

The benefit of this is that at a glance you would be able to tell just how many games you have scanned and be able to tell if the scanner missed any. As it currently stands I have to manually count every single game that i have which is tedious. The reason i had to do this is because the scanner missed several NES games (they were all No-Intro) and to be safe I manually checked all others just to see if even 1 was missing.


The option to sort playlists into categories. Scrolling all the way along the screen can sometimes feel a little tedious.



Feature request: Show a language selection screen on first start

Currently, a non-english user has to go through the English menu to select a different language. This might cause issues for some people. Therefore, I suggest to implement a simple language selection menu the first time RetroArch is launched. In my opinion, this will improve the usability for those users quite a lot. What do you think?

Unfortunaly, I can only make this suggestion, but I’m not able to help with the actual implementiation.


I think that on any device that has a physical keyboard, it ould be nice to be able to type directly the beginning of the game we want to play, instead of having to bring the search menu first.


1.) could happen 2.) isn’t going to happen. There are too many things that use the notification subsystem and we would have to fine-grain all of them to satisfy everyone. 3.) could happen but is more complicated than you may expect.

We already added the ability to hide the settings tab (and a few other tabs, as well) pursuant to a kiosk mode. Another thing you can do is to make your config directory read-only.


I have a NES USB controller that I like to use for Retroarch and Nestopia. Since the NES controller is really limited on buttons, I normally use the “Start-Select” button combo to toggle the menu. Some NES games use the Select button for other purposes (changing weapons, toggling a in game menu, etc), so I was wondering if we could have the option to hold down the Start buttton for 3, or X amounts of seconds in order to toggle the menu?


One feature I would love to have (I thin is not there yet, maybe im wrong) is that shader/overlay configuration can be particular per game. I love to create custom overlays for each game, and I hate when i need to go to the options each time I play a different game to change to its own overlay or a generic one.


You can do shaders per game already. You can do per-game overlays using overrides


How can I do those things? is on some manual? I could not find it


load up whatever overlay you want through settings > onscreen display > onscreen overlay and then load up whatever shader you want through quick menu > shaders, then from the shader menu choose ‘save core preset’ and then go up one level and save core override. The core preset gets the shader, the core override gets the overlay.


But that is per core, not per game, am I wrong?


if you want per game… use save game override


I think there are ways around my issue but there’s possibly a cleaner solution idk Forget the below per game core option overrides already exist!!! Learn something new every time hey

Request Multiple retroarch_core_option.cfg (maybe a seperate directory)

Reason being for obscure systems like Fairchild Channel F that have integrated games and require boot to bios option in MAME core. Would be nice to save a game override that boots to bios without affecting the other games.

I’m not sure if this is covered by any of the current config overrides but I couldn’t get it to work.

Multiple core options configs could be handy for other stuff I guess.


You can do that with Mame ini system.

Make a fairchild.ini (I don’t know the exact name you need, the system name in mame) in retroarch/system/mame/ini (perhaps /source if that doesn’t work, they changed that recently).

Inside of it you need a line like: bios 1 (or whatever the exact bios name it needs instead of 1)

You have to find your answer from the Mame side.


Um I will give it a try. I do that for Neo Geo AES.

That would probably still be global to all games of that system. I will see if it can be done on game level with mame


Woah this place sure has changed a lot since I last logged in! Great job on the forums and the latest releases =)

Anyways, on topic, I have two questions/suggestions:

  1. Would it be possible to add an option in the core updater submenu to update only the cores currently installed?

  2. Could there be an option to delete cores from the menu ? Not a problem on PC but can be a bit of a pain in Android.

I understand there have been complaints about usability and menus in the past and adding new options might not be the clever thing to do though…



Those are both things we’ve discussed but never actually implemented, so I guess the answer is: maybe sometime but no ETA.


Sorry… im a talker. I apologise for what started as a small note, and grew into what you see below.

i would love retroarch to be more user friendly and intuitive. I have tried Retroarch on and off a few times and it seems to do things its own way. I have been running emulators for years… jailbreaking my phones and wii’s… putting XBMC on my xbox… so I’m not a complete slouch. After trying to get things to work with retroarch and getting confused (mame for example), I often give up. I’ve watched so many how to videos and read all the start up docs, but i feel like I need a degree just to play some retro roms, and I go back to the single emulators because its more straight forward. I REALLY want to make this work. I really really want retroarch to be great.

For instance:

  • Why are emulators called cores?
  • Why is each version of a core listed? I.E.Making the ARCADE core have a sublist for example would tidy that long list.
  • Each core has an icon when its shown along the top menu, but not when selecting cores? They are just shown as a cog?
  • why are there so many steps to set it up?

I would love to see a proper how to video released officially on how to get going. If I can ever figure it out correctly, I would be happy to create this.

The steps to get a game going and have artwork seem so convoluted? It seems this could be massively simplified. EG.

  1. launch Retroarch
  2. goto online updater
  3. goto core updater
  4. scroll down to and take a random guess at a game core (like SNES) 4b (quickly google the best emulator to choose)
  5. wait for download of core (emulator)
  6. go back to menu
  7. goto scan directory
  8. navigate to game rom folder (eg SNES or something)
  9. select “scan this directory”
  10. go back to the menu
  11. goto online updater again
  12. select thumbnails updater
  13. find SNES thumbnails, (now under nintendo, not SNES)
  14. wait for ALL the thumbnails to download.
  15. Go back to menu
  16. Goto the core (emulator/system) you want in the menu
  17. Select the game

But it should be:

  1. Launch Retroarch
  2. Goto the core (emulator/system) you want in the menu
  3. Select the game

If we take a page from the design books of Kodi, Plex, and XMB it could be this easy if things were automated. This is essentially what happens after you have set everything up, but a lot of that setup can be behind the scenes and integrated.


  1. User Launch Retroarch 1b. Retroarch scans roms directory for new roms (set to automatic by default, but can be disabled in menu) 1c. Retroarch identifies rom and core needed via the extension 1d. Retroarch check to see if default/popular core for that rom is installed. If it isnt, then install default one, else ignore. 1e. Retroarch scrape for individual game thumbs for that title. (not whole zip of every game title)
  2. User Goto the Game System icon you want in the menu
  3. User Select the game 3b. if game does not run, offer alternate cores to install. 3c. like XMB, have one button to change sort filter list. )Default is system alphabetical. then just alphabetical, then genre, Year, publisher, playcount (decending), recently added, etc.)

this is obviously a lot of work, im not kidding myself. But if you can improve user experience to a point where they don’t need a youtube lookup or instructions, then you are going to have happy customers, and a much broader userbase.

if you don’t want to do all that work, then have the instructions in the interface for new users (like a game help tutorial), and an option to turn it off.

PS, i am a graphic designer and 3d animator by trade. I will HAPPILY put my hand up to help for any graphical assets.

One final suggestion. a global high score board. :slight_smile:

PS, thanks for all the hard work on retroarch. From what I can get working, its great.


Hey, thanks for the constructive input! :slight_smile:

I’ll answer the questions I can: Q1.) why are emulators called cores A1.) because not all of them are emulators. We have cores for a variety of different tasks, including video players, image viewer, 3D model viewer, standalone games, etc. Calling them all emulators wouldn’t make sense, and we don’t want to tie the ecosystem down artificially, since emulators are merely a good fit for the API rather than the only thing it can do.

Q2.) why is each version of a core listed? A2.) related to A1, we don’t want to make our frontend favor any specific core or family of cores, so we are careful not to hardcode anything having to do with emulators or specific consoles, etc.

Q3.) Why no icons when selecting cores? A3.) Dunno, this would be a good question for @kivutar.

Q4.) why so many steps for setup? Why not automate it? A4.) Not everyone is looking for a Hyperspin-style frontend experience with boxart, etc. RetroArch is focused on modularity, so while we’ve tried to supply things like boxart and support for large collections, we don’t want to force it on anyone who prefers a more spartan setup (I, for example, don’t use playlists at all, except for testing purposes, and don’t use boxart/thumbnails).

Q5.) why not include the cores and autoselect the best one for the job? A6.) the various licenses involved in the myriad cores don’t always allow the distribution with other dissimilarly licensed cores, so having the user separately handle that is a way to keep everything above-board legally. As for autoselecting, my own feeling is that we want to provide a platform for cores from various people and it’s not our job to identify winners and losers (i.e., I can just see the drama unfolding from $emu_author’s core getting bumped out of the “suggested” spot by some other core). There are some n00b-trap cores that I think we should stop including on the buildbot, but for most things, there are reasons why you might want to use almost any of the cores on almost any platform.

Q6.) Why keep so many confusingly redundant cores in the list? <<you didn’t ask this one directly but I inferred A6.) I agree that it’s confusing to have 5+ datestamped MAME and Snes9x cores and 2x of each bsnes core (for 6 total, not to mention mednafen-snes, which is yet another bsnes fork, and bsnes-c++98, which means nothing to non-programmers; both of these are in the “n00b-trap” camp, IMO). I’m not sure what can be done about it, though, without hardcoding things into the frontend and/or hiding cores (i.e., kingmaking).

For your suggested workflow, I like the idea of easily changing the sort filters. There was a reason why we stuck with downloading all of the thumbnails instead of just the ones we need but it’s eluding me right now. I think it was just slow and had too much network chatter overhead to check and download each one individually.