KingEnderBrine-ExtraSkillSlots icon


It's a library for other devs!!! It allows adding more skills for characters

Last updated a week ago
Total downloads 82432
Total rating 16 
Categories Mods Libraries
Dependency string KingEnderBrine-ExtraSkillSlots-1.4.5
Dependants 14 other mods depend on this mod

This mod requires the following mods to function

bbepis-BepInExPack-5.4.9 icon

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.9
KingEnderBrine-ScrollableLobbyUI-1.6.3 icon

Adds scrolling to lobby UI (skills, loadout, character select, difficulty)

Preferred version: 1.6.3
RiskofThunder-HookGenPatcher-1.2.1 icon

MMHOOK generation at runtime.

Preferred version: 1.2.1


For users

It's utility mod and does almost nothing on its own. What you should know about it is that mod has key bindings for extra skills that must be assigned in settings. Here's, I think, the best key bindings (default, starting from 1.4.0): Keybingins

For developers


Adding extra skill is almost the same as adding normal skills. Along with SkillLocator, you need to use ExtraSkillLocator. It contains info about extra skills. Here's code snipet for adding extra skills:

var extraSkillLocator = commandoPrefab.AddComponent<ExtraSkillLocator>();

extraSkillLocator.extraFirst = firstExtraSkill;
extraSkillLocator.extraSecond = secondExtraSkill;
extraSkillLocator.extraThird = thirdExtraSkill;
extraSkillLocator.extraFourth = fourthExtraSkill;

That's all it takes for adding simple skills.

Full documentation

All defined classes extend corresponding classes from RoR2. Class naming follows one pattern: Extra{NameOfRoR2Class}.

  • ExtraSkillLocator - The main thing that you need. It's a component that you add to your character prefab to be able to use extra skills. Fields:

    • GenericSkill extraFirst - contains info about first extra skill
    • GenericSkill extraSecond - contains info about second extra skill
    • GenericSkill extraThird - contains info about third extra skill
    • GenericSkill extraFourth - contains info about fourth extra skill
  • ExtraInputBankTest - Containts info about user inputs state for extra skills. Fields:

    • InputBankTest.ButtonState extraSkill1 - contains info about first extra skill state
    • InputBankTest.ButtonState extraSkill2 - contains info about second extra skill state
    • InputBankTest.ButtonState extraSkill3 - contains info about third extra skill state
    • InputBankTest.ButtonState extraSkill4 - contains info about fourth extra skill state
  • ExtraSkillSlot - Contains consts for extra skill slots. Can be used to get skills from the corresponding slot from SkillLocator.

  • RewiredActions - Contains consts for rewired actions. With that info, you can manually access corresponding buttons state via Rewired.Player

  • ExtraSkillSlotsPlugin - Main class of this mod. There's nothing you can do with it, except to look at BepInPlugin definition to define a dependency to that mod.

Small tips

If you got to the point where you need more skills, you probably know enough about creating characters/skills, just want to leave here a small guide for skills creating.

  • To access ExtraInputBankTest(and any component that not stored in fields) from EntityState you should use outer field, for example:
var extraInputBankTest = outer.GetComponent<ExtraInputBankTest>();
  • Mini guide about adding extra skill
//Create new SkillFamily
var firstSkillFamily = ScriptableObject.CreateInstance<SkillFamily>();

//IMPORTANT! Do not forget to add name for SkillFamily 
//because game uses it for saving loadout
//Also I recomend to follow naming convention "{PrefabName}{SkillSlot}Family";
(firstSkillFamily as ScriptableObject).name = "MyCharacterBodyFirstExtraFamily";

//Adding skill variants to the family
firstSkillFamily.variants = variants;

//Registering skill family in catalog

//Adding new GenericSkill component to character prefab
var firstExtraSkill = myCharacterPrefab.AddComponent<GenericSkill>();

//Setting SkillFamily to our GenericSkill
firstExtraSkill.SetFieldValue("_skillFamily", firstSkillFamily);


//Adding ExtraSkillLocator to character prefab
var extraSkillLocator = myCharacterPrefab.AddComponent<ExtraSkillLocator>();

//Assigning our skill to corresponding slot
extraSkillLocator.extraFirst = firstExtraSkill;


Feel free to ping me on discord @KingEnderBrine if you found one.

If you want to support me, you can do this here



  • Fixed vanilla bug that was causing ExtendedLoadout break for Captain


  • Fixed compatibility with R2API 3.0.71


  • Updated dependencies


  • Fixed cooldown reduction on extra skills.
  • Finally fixed default keybindings.


  • Minor fix for default keybindings.


  • Added default keybindings. Thanks to DrBibop for code example.


  • Fixed an issue when starting a run hud would not show up.


  • Added missing MMHOOK_Standalone dependency


  • Removed r2api dependency


  • Minor fixes


  • Moved extra skill row up a bit, to not interfere with the default skills stock number.

  • Optimization.


  • Added BaseSkillState hooks

  • Again fixed stats recalculation.


  • Updated for RoR2 release version.

  • Changed extra skill slot indices (11, 12, 13, 14). Mainly this was done to not interfere with Sniper's ammo.

  • Added support for Purity cooldown reduction.


  • Actually fixed stats recalculation hook.


  • Fixed issue where stats recalculation starts throwing errors in console.

  • Updated dependencies


  • One more Readme fix


  • Readme fix


  • Mod release.

Available versions

Please note that the install buttons only work if you have compatible client software installed, such as the Thunderstore Mod Manager. Otherwise use the zip download links instead.

Upload date Version number Downloads Download link  
2022-1-15 1.4.5 3800 Version 1.4.5 Install
2021-12-18 1.4.4 7591 Version 1.4.4 Install
2021-7-31 1.4.3 23297 Version 1.4.3 Install
2021-5-23 1.4.2 17228 Version 1.4.2 Install
2021-4-23 1.4.1 8423 Version 1.4.1 Install
2021-4-6 1.4.0 1535 Version 1.4.0 Install
2021-4-2 1.3.2 890 Version 1.3.2 Install
2021-4-2 1.3.1 295 Version 1.3.1 Install
2021-4-2 1.3.0 77 Version 1.3.0 Install
2021-1-5 1.2.2 10402 Version 1.2.2 Install
2020-8-23 1.2.1 5656 Version 1.2.1 Install
2020-8-22 1.2.0 372 Version 1.2.0 Install
2020-8-17 1.1.0 904 Version 1.1.0 Install
2020-7-23 1.0.4 928 Version 1.0.4 Install
2020-7-23 1.0.3 138 Version 1.0.3 Install
2020-7-12 1.0.2 606 Version 1.0.2 Install
2020-7-12 1.0.1 134 Version 1.0.1 Install
2020-7-12 1.0.0 156 Version 1.0.0 Install