Which hook should I use

This page matches a job you want to do to the call that does it, in one table.

I want to… Use…
Run setup once, at startup FrameworkMod.OnLoad
Add a setting or a keybind Config.Bind, Keybinds.Register
Keep data per save SaveData.Register or SaveData.Bind
Add a new game option NewGameOptions.RegisterToggle and the other register calls
Run code once a save is ready Events.WhenReady
Read saved data after a load Events.Loaded or Events.WhenReady
React to a door or a level change Events.SceneLoaded
Create quests Quests.Ready
React to the clock Events.HourPassed, Events.DayPassed
React to a save being written Events.Saved, Events.AfterSave
Run something every frame Update on your mod
Add a button to the main menu MainMenuButtons.Add
Run code for a new game only Events.NewGameStarted
Change a game method CorePatcher

Next: When things run for the links to the rest of the guides.