From OoT Randomizer Wiki

Originally written by Tyrus

Project64 is no doubt the most popular N64 emulator available. As racing is a large focus for the community you have to take stock of the rules of the racing websites which prohibit Project64 2.0 and higher. Randomizer staff will support Project 64 v2.4.0-1161-g18d1867 which was released on May 5, 2020 and versions newer than it. We will not directly support any previous version, including 2.3.2 which is the latest stable release. Make sure you download one of the nightly builds if you wish to use Project64 for the randomizer.

Download Project64 nightly build v2.4.0-1161-g18d1867 release on May 5, 2020 or newer.

You can dismiss the nag screen without waiting 30 seconds by pressing the Esc key.

Enable Protect Memory

Launch Project64, and in the menu bar navigate to OptionsSettings... or press Ctrl+T to open the Settings menu.

In the Settings menu expand the Options list on the left and look for a Defaults section, if Defaults isn't displayed on the left than click Options and untick Hide advanced settings. Now click Defaults on the left and then tick Protect memory on the right to enable it by default. This is required for Ocarina of Time to work correctly in Project64, but is not automatically used for Randomizer.

Delete In-Game Saves

When playing a randomized ROM make sure you start with a deleted save slot with each randomizer ROM you play. Do not re-use an existing save slot across multiple different randomizer ROMs, when starting another randomized ROM you must delete an existing save slot before using it.

Configure Controller

First, take a look at the Controller Setup guide. Ensure your controller is calibrated, and if you are using one of the controllers with additional setups steps in that guide make sure you follow them.

In the menu bar navigate to OptionsConfigure controller plugin... This is where you setup your controller binds.1 The buttons on the left of a box refer to the button on an N64 controller and the box next to it displays which button on a controller is currently set for using it.

If you are using an Xbox controller, or any controller that is an XInput device, ensure you check XInput at the top. This will change the bind menu to be more appropriate for your device.2 The XControl column is the button on your controller, and the N64 column is the button on the N64 controller you want it to use.

For other controllers and keyboard users, ensure XInput does not have a check by it. Click on the button for the control you want to bind a button to and the menu will wait for you to press a button on the controller or a key on your keyboard to use for the button. You may need to change these again if you switch controllers.

If you use a keyboard, you will also want to increase the Analog StickRange to 100%.