Since January 2025, I no longer associate with SM64 romhacks or anything related. This page and emu are therefore not currently maintained. ~ShiN3
Luna's Project64 comes with all of the plugins in this list pre-installed, so you won't have to go through the effort of doing that yourself.
Regardless, it's good to have some information about each plugin to decide which one you should pick.
To change the plugins you're using, go to Options > Configuration, click on the Plugins node, use the dropdown lists to make your choice and click OK when you're done.
Use this plugin to play the average SM64 romhack.
In graphics settings, go to the ANGLE tab and pick Vulkan. If Vulkan doesn't work, pick DirectX 11. OpenGL is only better in rare cases.
Very versatile plugin with decently accurate emulation.
Works well in low-end computers.
More info
This plugin supports OpenGL, DirectX 11 and Vulkan. Which graphics API will run better depends entirely on your hardware, so make sure to try all 3 options and pick the one that feels best for you. Also note that DirectX 11 doesn't allow multi sample anti aliasing (MSAA).
To switch between these 3 options, go to Options > Graphics settings, click the ANGLE tab, then select your preferred choice.
Plugin made by aglab2. Based on GLideN64 by gonetz.
Use this plugin if you have a potato computer and can't run the other plugins.
Very reliable performance.
Very inaccurate, notably in the HUD and vanish cap.
Its inaccuracy causes issues with modern decomp hacks' visuals.
It seems to act differently depending on each player's graphics card.
More info
This plugin should work right away without any adjustments.
Plugin by Jabo.
Use this plugin to test the visuals of console compatible hacks, or to play decomp hacks / games that require it.
The most console accurate plugin.
Won't run if your graphics card isn't absurdly good (NVIDIA RTX or AMD Analog recommended).
More info
To edit the settings for this plugin, you have to open parasettings.ini (located next to Project64.exe) in a text editor and edit it manually.
This plugin requires graphics LLE to work. Therefore, you must disable Graphics HLE in the plugins section of PJ64's configuration to use it. Remember to enable it again when you switch back to a different plugin.
Plugin by Themaister and mudlord.
Runs faster than Jabo.
Fixes an issue with Azimer's Audio where some config wouldn't save correctly.
There's no reason to include any other audio plugin.
More info
This plugin should work right away without any adjustments.
Plugin by aglab2. Based on Azimer's Audio by Azimer.
Use this plugin for DirectInput controllers.
The best plugin for DirectInput controllers.
Has different sorts of customizable macros.
It's uncertain which controllers it does and doesn't support, so you often won't know until you try it.
Good keyboard configurations are near-impossible to setup, and no left+right / up+down support makes sideflips and Bowser throws unnecessarily hard.
More info
This plugin should work right away without any adjustments.
Plugin by libertyernie, based on NRage's Direct-Input8 V2 by PlexaryDamato. Modified by ShiN3 to save config in %AppData%.
Use this plugin for XInput controllers (Switch Pro, DualShock, XBox, etc).
Plug & play for XInput controllers.
Doesn't require Steam or specific drivers to use Switch Pro and DualShock.
Supports mapping two buttons to the same input.
Doesn't support keyboard.
Less customizability than NRage
More info
If you use the GUI to change your input mappings, make sure you close and reopen the emulator after doing that to prevent crashes.
Plugin by wermi. Based on Octomino's SDL Input by clickdevin.
Use this plugin if you're playing on keyboard.
The best plugin for keyboard players.
Allows range configuration for cardinal and diagonal, X and Y values. The defaults allow your diagonal angles to be slightly off from 45ยบ, which allow you to wallkick axis aligned walls.
Has support for analog stick range modifiers, separate for X and Y, which allows for slow walk keys and keys that give you a specific angle.
Doesn't work on controller.
More info
See more info in this page.
Plugin by ShiN3.
Use this plugin for GCN controller with Wii U or Switch adapter.
Allows you to use GCN controller with Wii U/Switch adapter without destroying your brain.
Doesn't support other controllers.
Newer versions of Octomino may support this controller anyways
More info
If you can't get this plugin to work, follow the instructions provided in this link.
Plugin by wermi.
Use this plugin for original N64 controller with raphnet adapter.
Provides 1:1 inputs to console using raphnet adapter.
Doesn't support other controllers.
Doesn't allow customizing input mappings.
More info
Plugin by raphnet.
Use this plugin if you're playing on controller and NRage and Octomino don't work for you.
Almost any kind of controller will work fine with it.
Allows framewalk macro.
Doesn't have a GUI.
Not a good option for keyboard as it lacks proper modifier support and numpad configurations give issues since it doesn't use DirectInput.
More info
The settings file for this plugin is Project64\Config\map.yaml, although going to Options > Input settings in Project64 will open the file for you.
You will need to modify the text file manually to edit your settings.
Plugin by aglab2.
Thanks to aglab2, Hyena Chan, Pyro Jay and wermi for helping me make this.