Multi System cores

I CANNOT BELIVE as long as Retroarch has been around that in version 1.9.2 there is no way to save core configurations per system. I am mostly refering to shaders and core overrides. Why has this not been implemented yet!? I found a core splitter that is said to mitigate this but it works half-a**ed at best. C’mon guys ! this is a super basic function that should be straitforward enough to do. Almost NOBODY organizes their games and builds by core.

1 Like

One thing you can do for shaders is to save your presets as content directory presets, so the shaders will load based on the directory that the Rom was in.


Yes, that’s exactly why the content directory stuff exists, since RetroArch (the frontend) does not and cannot know what the cores (the backends) are capable of, internally.


I’m not in a place where i can look right now. But the way i interpretted the content directory stuff was that you can either save based on the core or save configs based on content ; which to me means a config per game…i have thousands of games it would be close to impossible and virtually unmanageable to be able to do that…Am I missing something here?

I did end up finding a solution that would work…but it wasn’t a good one and more of a “hack” than anything. I created a perfect retroarch config, then moved it to .\config\ _HSconfigs\ {systemname} Then load the config file for the system and save all my core options based on core name which is created at .\config{corename}. I used the “core splitter” tool (whenever it worked) and then load the specific options there. I don’t understand RA at the dev level…but there has GOT to be a way to say…this core does these systems …go create a structure for that duplicate the core and add a “-{sysname}” and .info file for it. . idk…just seems like it would be a simple thing to do if you’re a dev. Feels like a rant so i’ll stop now. But I’m just sayin…I can’t be the only one that feels this way.

RetroArch doesn’t know what a “system” is. It only understands cores. That’s an intentional design decision that admittedly doesn’t make much sense from an end-user perspective but is pretty important from a technical/design standpoint.

Anyway, what you want to do is, again, exactly the reason ‘content directory’ overrides exist. It lets you apply settings to everything that’s in a directory without touching stuff that’s not in that directory.

For example, if you have your Game Boy and Game Boy Color games running through, say, SameBoy, as long as you have them in separate directories, you can apply different settings to them. Similarly, you could apply different settings to your 3D PS1 games and your 2D ones, as long as you have them separated into different directories. So, in that respect, it’s more flexible–if less immediately intuitive–than basing settings on systems.


In the most simple terms…if you have your ROMs stored in separate folders per system, (for example, a separate folder for SEGA Mega Drive and Sega Master System, both using the Genesis Plus GX core) then you can, in effect, use the Content Directory Override to save your configuration options (and shader presets) per system.

The content directory override will apply to all content in the same folder / directory. I use exactly this method for my configuration and shader presets for each system.

If you need something specific for a game, then you can save a Per Game override. On thing to note is that once you start doing this you should avoid saving any Per Core overrides as you will end up overwriting your Per Content Directory / Game overrides.

It’s pretty straightforward once you have your content laid out suitably and get your brain wired into thinking that way.

I’m pretty new to this but lots of trial and error has gotten me this far. I’m sure others may have some more wisdom to impart.

1 Like

How about implementing file extension overrides? How far would that go solving the issue?

The only multi system cores I use are Genesis Plus GX, PicoDrive, Gambatte and mGBA and for that I think it would work great, but I am not aware of how it would work with other multi-system cores.

Content directory overrides and presets are more powerful because some systems may have the same file extension. i.e. zip can be used in almost all cores, and any system.