An API that can be used to create custom key bindings that are added to the controls section of the options menu, can be rebound and will be saved. The only thing you need to init is BindingBuilder.Init("examplebinding");, where "examplebinding" is the name of the file you want your bindings to go in, so it would look like this for this example: "bindings_examplebinding.json".
There are 4 classes included: BindingBuilder: which is used to create PlayerActions, OneAxisInputControls, and TwoAxisInputControls. BindingHooks: the hooks for adding the bindings to the menu and making them function. BindingLoader: which loads and saves the bindings ExampleBinding: an example of using BindingAPI to make a PlayerAction and OneAxisInputControl.