Nucleus Co-op is a free and open source tool for Windows that allows split-screen play on many games that do not initially support it, the app purpose is to make it as easy as possible for the average user to play games locally using only one game copy and one PC. The app was originally created by Lucas Assis. The developer Zerofox later took over and added a ton of new features and improvements to support a lot more games. Ilyaki later joined in and brought multiple keyboards/mice support, extended hooks support and more great features to the table. Finally Mikou27 added a new beautiful overhauled user interface with support for themes, game covers and screenshots, among other many quality of life improvements and several bug fixes.
The further development of the app wouldn't have been possible without the amazing contributions and hard work from all the Split Screen Dreams Discord members (which include the devs mentioned above) that made all the new Nucleus Co-op game handlers and continue to test the app, making new discoveries and game handlers to support even more games, among them: Talos91, PoundlandBacon, maxine64, Pizzo and many more.
Essentially Nucleus Co-op symlinks and opens multiple instances of the same game files (sometimes mutex killing is required for that, among other methods) that will only answer to one specific gamepad (we do this via Nucleus Co-op custom xinput libraries or xinput plus dlls) and connects those instances via LAN or online multiplayer emulation (Goldberg, Nemirtingas emulators etc.), all while making sure the game windows have focus so they can be playable at the same time with multiple controllers or that the instances are playable even in the background. Nucleus Co-op then resizes, removes borders and repositions the game windows so you can have synthetic split-screen to play locally with your friends!
Note that Nucleus Co-op does not add multiplayer or co-op to single player games, the game needs to already have some form of online or LAN multiplayer, or another way to connect the instances, like via mods for example (e.g. Skyrim Together).
Nucleus Co-op has support for more than 500 games! see which games are supported?.
You can download latest version from Github. Download the compiled .zip release, don't download the source code zip if you just want to use the app. Version 2.1.2 is the latest version recent handlers are created for, please avoid using older versions (like Alpha 8 and Alpha 10) as they are outdated now.
You can place the folder wherever you like as long as you keep the following in mind:
DO NOT place it inside a folder containing files for a game you wish to play.
Avoid placing it inside a folder that has security settings applied to it, such as program files, program files (x86).
Some game handlers require the Nucleus Co-op folder to be located in the same drive as the game files.
If you are still unsure where to place the folder, the root of the drive your games are installed on is usually the best option. For example C:/NucleusCo-op.
Here are a few things you can try:
Try updating your Microsoft .NET Framework, and install/reinstall Visual C++ 2010-2017, 2015-2019 Redistributable (both x86 and x64).
Make sure your antivirus program or Microsoft Defender is not blocking Nucleus Co-op or deleting any of its files. You may have to allow Nucleus as an exception before extracting. On Nucleus Co-op launch if you get the error "ProtoInputHooks64.dll is missing from your Nucleus Co-op installation folder" that means your antivirus or Microsoft Defender deleted or blocked the file, to fix exclude Nucleus Co-op folder from Microsoft Defender Antivirus like this and extract again to get the missing file.
Extract Nucleus Co-op with 7-Zip as the default Windows extraction tool can sometimes fail to extract the files correctly.
Install the DirectX End-User Runtime if you are on Windows 11.
If the app gets stuck on the splashscreen when opening you can just click on the splashscreen to dismiss it, you can also disable it in Nucleus Co-op UI settings.
Restart your PC, and try again.
Absolutely not. Some Nucleus Co-op hook files and Goldberg emulator, used by Nucleus, can sometimes be detected by Microsoft Defender and some other anti-viruses and web browsers, this is 100% a false positive see here and here for more information.
You may have to allow Nucleus Co-op as an exception before extracting. Nucleus Co-op is fully open source and 100% guaranteed safe if you downloaded it from the official github link. If you got a detection you can help by reporting the file(s) to Microsoft as incorrectly classified as malware.
Most Nucleus Co-op handlers only detect and work with XInput controllers. Controllers that work best are native XInput gamepads like Xbox 360, Xbox One and Xbox Series X|S controllers for minimum hassle. There are a few handlers that also support DirectInput controllers but XInput controllers are generally a lot easier to restrict to a specific game instance than DirectInput controllers. If you only have DirectInput controllers there are multiple ways to emulate XInput controllers. Some Nucleus Co-op handlers also support one keyboard/mouse or multiple keyboards/mice.
Right click on a section of the split-screen layout.
Go to Nucleus Co-op settings, custom layout tab, customize your layout and save then select a game and in the split-screen layout click the left corner icon until you get to "custom", finally drag your input devices as normal.
Nucleus Co-op depends on a lot of Windows functions and APIs, at the moment it only works on Windows 7 and Up. If you are interested in porting Nucleus Co-op to other operating systems please feel free to contact any of the developers.
Not all games are easy to split-screen, if you want to suggest a game make a subreddit post with the title
[Request] Name of the game and provide useful information like if the game supports LAN or dedicated servers, if it is available on Steam or in other services, if it uses external servers for online, if it has gamepad support etc. You can also contact any of our experienced Nucleus handler developers here or in the Nucleus Co-op discord and ask if a handler is possible. The main handler developer is Talos91. Remember that handler developers are limited by the games they own and can test on, so if you really want support for a game to be added consider donating the game to the handler dev in question.
Handlers updates are always announced in the Nucleus Co-op discord in the channel #handlers-updates. Nucleus Co-op will also let you know if a new handler update is available when you select a game in its interface.
Open the MasterHandler.js file inside Nucleus Co-op handlers folder with notepad to read the documentation, check the Readme.txt inside the Nucleus folder for even more additional documentation. You can also use the handlers you download from Nucleus Co-op as reference, they get downloaded to the Nucleus Co-op handlers folder. An easier way to start would be editing an existing handler, preferably one of a game that uses the same engine as the game you want (Unity, UE4 etc.) and just change the data in the handler to match your game's, like the .exe name and such. If you create a working handler or if you have any questions about Nucleus handler development you can ask us in the Nucleus Co-op discord or in the subreddit, we can help you improve your handler so it is fully working for sharing with the community. See the handler development guide on this website too.
Note that Nucleus Co-op is a tool in development and may have bugs, glitches and weird things happening. Help other people not have these things happen by checking for a solution in the subreddit or discord and submitting a
[BUG REPORT] to the subreddit as a new topic if no-one else has brought it up.
Provide a debug log of the Nucleus Co-op error or crash too: Open Nucleus Co-op settings by pressing the gear icon at the top right of the Nucleus UI, check the box labelled Enable Debug Log, then press save and close. Run the handler you are having trouble with again and a log file will be created in the same folder as the Nucleus Co-op exe, called debug-log.txt.
Make sure you have read the game handler notes in the Nucleus UI very carefully before submitting anything.
[BUG REPORT] looks like this:
Thread name: [BUG REPORT] Simon falling off horse BUG: Simon falls off his horse. EXPECTED: Simon should not fall off his horse, right? CAUSE: I'm pretty sure it's because I have my computer plugged into an auto-blow. STEPS TO REPRODUCE 1. Open up Simon Stays On His Horse: The Interactive Video Game of the Movie. 2. Choose Co-Op and join with another player. 3. Simon falls off his horse!!! TYPE: Severe! The gameplay can't continue if Simon isn't on his horse! (Alternatively, Minor if the gameplay can continue but it's just annoying) NUCLEUS OPTIONS: I played with 2 players using the vertical splitscreen (left and right) on one tv and 2 famicom controllers. I'm using the latest version SYSTEM: I'm on Windows 3.1 with 4MB of RAM, a 2KHz CPU and no graphics card, playing on a projector. She's a monster. I'd really like this to get fixed please thanks magic man! -Beanboy
Keep in mind most handlers are made and tested using the latest legit Steam versions, so provide information about what version of the game you have.
Make sure you are using latest Nucleus Co-op version and the handler latest version. Here are other things you can try:
Read the game handler author's notes that appear under the game cover, read them carefully as they contain important information related to the handler functionality.
Check that your antivirus program or Microsoft Defender is not deleting or blocking any Nucleus Co-op files. If you get the error "ProtoInputHooks64.dll is missing from your Nucleus Co-op installation folder" exclude Nucleus Co-op folder from Microsoft Defender Antivirus like this.
Install/reinstall Visual C++ 2010-2017, 2015-2019 Redistributable (both x86 and x64).
Try launching your main game without Nucleus Co-op and change some graphics settings, apply then close.
Delete Nucleus Co-op content folder, open Nucleus Co-op and add the game again.
Move Nucleus Co-op outside any user or protected folders, placing it in C:/NucleusCo-op is recommended.
Move Nucleus Co-op to the same drive as your game but don't place Nucleus Co-op inside the game files you wish to run.
Run Nucleus Co-op as admin if the handler requires it.
Most handlers are made and tested using the latest legit Steam versions of games, so you need the Steam version unless the game handler notes or description mention it works with other versions too (GoG, EGS). Xbox Game Pass games are currently not supported because of their DRM.
Verify the integrity of your game files via Steam and make sure they are the clean vanilla files, installed mods that change the game files could interfere. To know for sure you are using a clean vanilla install of a game uninstall your game via Steam then go to your Steam installation folder (default in
C:\Program Files(x86)\Steam\steamapps\common\) and delete the game folder manually there in case any extra files remained, then install the game again. Some handlers require Steam to be running and others require Steam to be closed, always refer to the handler notes.
If you can not connect the instances to the same game make sure your firewall or antivirus is not blocking the connection.
If you are using a handler that creates different temporary windows users like the Halo: The Master Chief Collection handler when using the online mode UI option or the State of Decay 2 handler, Nucleus Co-op needs to be installed outside any user or protected folders, you need to have Nucleus installed in the root of your drive, for example C:/NucleusCo-op. Make sure you close Nucleus using CTRL+Q and make sure to delete any Nucleus created windows users, if they remained after a crash, before running the handler again. Delete them via windows control panel and delete any Nucleus user folders in C:/Users/ too, restart your PC if you can't delete the folders.
Disabling exernal overlays (Discord, Nvidia, MSI etc..) can fix some issues.
It is also possible that a handler stops working if a game gets an update that adds big changes like cross-platform play, if you think that is the case please report the issue so we can fix it if possible.
Most Nucleus Co-op handlers only detect and work with XInput controllers. If you only have DirectInput controllers there are multiple ways to emulate XInput controllers:
If you are using generic DirectInput controllers the apps XOutput or x360ce version 4 are also very useful to emulate XInput controllers system wide. Do not place any x360ce XInput dlls inside Nucleus Co-op files as this might interfere with Nucleus Co-op own custom XInput dlls.
Remember that some games detect both DirectInput and XInput controllers so even if you are emulating a XInput controller the input could still not be restricted correctly by Nucleus Co-op because the game is now responding to both the emulated XInput controller and to the native DirectInput of your controller, causing your gamepad to control multiple instances at the same time or other input issues like the camera spinning or buttons not working correctly.
If you have double input or other input issues because of that the best way to block the native DirectInput of a controller when emulating to XInput is using HidHide. Follow this guide to learn how to use it.
If you are using DS4Windows the option "hide ds4 controller" can help too but it is less reliable than using HidHide.
You can also try using this .dll made by wizark952 that blocks Direct Input in most games. Place the dll alongside the game's .exe and make sure you are using the correct version of the dll (for x86 or x64 games).
If even after doing all that you are still getting double input make sure you disable Steam Input via Steam or close Steam.
Xbox One and Xbox Series X|S controllers have some issues with background input in games that only support DirectInput controllers and in Unity games that use Unity's default input for gamepad support.
If you are using Steam controllers try this.
Since Nucleus Co-op v2.1 for handlers that support multiple keyboards/mice the mice and keyboards icons will only show in the UI if a key is pressed or a mouse moved. If you press a key in the keyboard or move the mouse their corresponding icons in the Nucleus Co-op UI will light up yellow. The app can detect keyboard macros that is why sometimes you will get multiple keyboard icons. If you maintain a controller button pressed the corresponding icon will light up yellow too.
If a handler is only showing gamepads and not keyboards/mice icons that means the handler only supports gamepads and doesn't support keyboards/mice in split-screen yet. If a handler is only showing keyboards/mice icons that generally means that the game itself has no gamepad support or very limited gamepad support. If you only see one big keyboard/mouse icon that means the handler only supports one keyboard and mouse with the instance focused.
Some handlers save to the Nucleus Co-op environment folder located in
C:\Users\YourUser\NucleusCoop, you can access each game save file via the Nucleus Co-op UI too, select a game, click on Game Options and select Open UserProfile Save/Config Path. Other handlers just save in the same file path your regular game saves to. The PC Gaming Wiki is a great place to know where exactly a game saves to.
Try setting your monitor scale to 100% in your monitor/TV resolution settings. It is also highly recommended that you add custom resolutions to all your monitors from your AMD/Nvidia/Intel panel (for example if you are using a monitor resolution of 1920x1080 add custom resolutions like 1920x540, 960x1080, 960x540, etc.) that way most games will be able to see and use those custom resolutions and the split-screen will not look stretched (Example). Note that not all games support custom or ultra widescreen resolutions. If your graphics panel does not support adding custom resolutions using the app Custom Resolution Utility is recommended. Disable the Status Window in Nucleus UI settings if you have it enabled as it can cause resizing issues.
A lot of handlers edit a game's .ini or .cfg files to force windowed and to adjust the game's resolution to the window size, so make you sure you run your game at least once, change some graphic settings and apply them before running it via Nucleus Co-op, that way you make sure the proper config files are getting generated first. If you are still getting the error after doing that, select the game in the Nucleus Co-op user interface, click on Game Options and select Delete UserProfile Config Path for all players. You can also try deleting Nucleus Co-op content folder and add the game again.
Remember that Nucleus Co-op opens multiple instances of a game, so depending on the game this can be quite demanding for your PC, to improve FPS and performance try reducing graphics settings like textures and shadows, limit the FPS or unfocus all the game windows so that they get equal priority and the FPS even out, you can do this by Alt-Tabbing to a different window like the Nucleus Co-op app window, the game windows will still remain on top, you can also press the windows key+b in your keyboard to unfocus all the instances or use the Ctrl+H Nucleus Co-op shortcut. Forcing Vsync via your graphics panel can also help.
Some handlers that support multiple keyboards and mice lock the input, including the main mouse cursor in the corner and emulate multiple cursors that only show in the instances when you left click. To unlock the input press the END key in your keyboard when you finish playing, remember that locking the input with the END key is necessary to make multiple keyboards and mice work correctly in handlers that support them. You can also use CTRL+Q to close Nucleus and all its instances. Other Nucleus Co-op shortcuts are editable in the app UI settings.
For some games that save in the default Documents folder Nucleus Co-op will edit the path registry key so that each instance can have a different save or config file. Properly closing Nucleus Co-op, should restore its original value (whatever it was prior to Nucleus). If it doesn't (due to the app crashing for example), opening Nucleus again will revert the registry back to its original value (Nucleus Co-op v2.1 and up). Just in case, Nucleus will keep an original copy of the registry key in your Nucleus folder > utils > backup > User Shell Folders.reg. Worst case, the 'Personal' key needs to be changed back to
%USERPROFILE%\Documents or if using a custom documents folder, whatever the path to that is. Use the Windows Registry Editor app to change it back.
The full registry path that may be effected is, the Personal key:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Yes you can use Nucleus Co-op without internet connection, you only need internet connection to download handlers, covers and screenshots. Most game handlers also work fully offline as the game instances connect via real or emulated LAN, only few handlers require internet connection to connect the instances either because they connect to a game own servers or because they require multiple accounts.
Yes, if you run the game via Nucleus Co-op in different PCs you can connect all instances you launch via LAN, for example you can have 2 players playing vertical split-screen in one PC via Nucleus Co-op and connect to 2 other players using Nucleus Co-op split-screen in a different PC via LAN. If the handler uses steamworks online multiplayer emulation you'll have to change the instances Player Steam IDs in the other PCs you'll connect to, otherwise the instances launched by Nucleus Co-op will use the same Player Steam IDs and won't be able to connect to each other. Since Nucleus Co-op v2.1 you can change an instance Player Steam ID in the app UI settings (Players tab). You can also see the default Player Steam IDs Nucleus Co-op uses per instance there. There are games that tie save data to your Player Steam ID, so if you want to use your main save data you need to get your Player Steam ID, here is the easiest way to get it.
You can also donate to our main handler developer that makes the game handlers for Nucleus to support even more games: Talos91/blackman9.