Skyrim Special Edition

File information

Last updated

Original upload

Created by

ceejbot

Uploaded by

ceejbot

Virus scan

Safe to use

Tags for this mod

About this mod

Soulsy is a minimal-features, themable Souls-style hotkey HUD for Skyrim SE and AE. It is inspired by hotkey mods like Elden Equip, iEquip, and espcially LamasTinyHud. It's implemented as a SKSE plugin with no papyrus.

Requirements
Permissions and credits
Translations
  • Mandarin
Changelogs
Donations
Soulsy lets you set hotkeys for managing what you have equipped or readied in four equipment slots:

  • right hand: weapons, spells, two-handed weapons, scrolls
  • left hand: one-handed weapons, spells, shields, torches, lanterns
  • shouts and minor powers, scrolls
  • utility slot: potions, poisons, food, armor

Soulsy sets up cycles for each of these equipment slots. For example, if you want to switch between Flames and Healing spells in your left hand, you'd add each of them to your left hand cycle. For your right hand, you might set up a long sword with an anti-undead  enchantment, a dagger with Soul Trap, and a bow. Pressing the key assigned to a slot moves to the next item in your cycle and equips it (or readies it, in the case of the utility slot). If you tap the key several times quickly, you'll advance through the cycle and then equip the item you were on when you stopped tapping the button.
Here's what it looks like in action:



The maximum cycle length is configurable, but caps out at 20. 20 items is a lot of items to cycle through this way, and if you have that many you'd probably be better off using the inventory or favorites menu.

To add or remove an item from a cycle, bring up the inventory, magic or favorites menu, hover over the item, and press the hotkey for the cycle you want to change. If the item is not in the cycle for that slot and it's appropriate for the slot, it'll be added. If it's already in that cycle, it'll be removed. Soulsy prints text feedback on the screen about what it did.

Soulsy also has a hotkey for activating your selected utility item. This is the only category of item that Soulsy will try to activate for you; everything else needs to used the same way the base game has you use them. The last hotkey-able shortcut is for hiding and showing the HUD. There is an MCM setting if you want the HUD to fade out when you're not in combat or don't have your weapons readied.

That's it for the feature set. Soulsy does not (yet?) attempt to select the best ammo, potion or poison the way iEquip does. It equips what you tell it to equip, as quickly and reliably as it can. Soulsy also does not offer in-game layout editing, though you can modify the layout by editing a toml file outside the game. There's a refresh key that you can set and use to reload on the fly to
look at your changes.

In-game options

SoulsyHUD has an MCM menu that allows you to edit its options and, most importantly, set up your hotkeys for it. You can set these hotkeys:

  • cycling through shouts and powers
  • cycling through items for your left hand
  • cycling through items for your right hand
  • cycling through consumables
  • using a consumable
  • toggling HUD visibility
  • reloading the layout


The behavior options you can set are whether it should fade out if you're not in combat (or don't have your weapons drawn), how long it takes to fade out, how many items you can have in a cycle, and how quickly it reacts to tapping a cycle key. Slowing down the equip delay makes the equipping an item take longer, but it gives you more time between taps. I recommend trying a half-second or a bit more for this setting.

All time delays are expressed in milliseconds, so you can get finicky here if you want to.

Soulsy offers you two ways to include unarmed combat in your cycles. First, there's an option to add unarmed directly to cycles, similar to the way iEquip handles it. Second, you can set a modifier key for switching to unarmed: press the modifier plus your left, right, or powers cycle key to unequip whatever you have equipped in that slot. 

You can also set a modifier key to require with the activate-utility key. This option allows you to set cycle utility and activate utility to the same button if you're short on buttons.

Finally, if you're really strapped, you can set up a modifier key required when you advance a cycle. For instance, if your D-pad keys are already in use, you could bind a shoulder key to this, then do shoulder + dpad to cycle.

Theming

Soulsy does not have any in-game way to edit the UI. However, almost everything about how it looks can be modified outside the game. Use any text editor to change values in SoulsyHUD_Layout.toml, save the file, then press the refresh hotkey in-game. The HUD reads your new layout and redraws itself.

You can change all the background images and icons Soulsy uses. All images must be SVGs. Drop the files you'd like to use into this file structure:

SoulsyHUD/SKSE/plugins
├── resources
│  ├── backgrounds/*
│  ├── buttons/*
│  ├── fonts/*
│  └── icons/*
└── SoulsyHUD_Layout.toml


  • SoulsyHud_Layout.toml - The HUD layout, in TOML format. Set colors, transparencies, sizes, and locations for every HUD element.
  • backgrounds/hud_bg.svg - The background for the entire HUD; SVG.
  • backgrounds/slot_bg.svg - The background for a single cycle element (left hand, power, etc); SVG.
  • backgrounds/key_bg.svg - The background for hotkey hints; SVG.
  • resources/buttons - Xbox and Playstation button art.
  • resources/fonts - TrueType fonts to use for display. The HUD comes with futura-book-bt.ttf to match Untarnished UI. Change the font = line in the layout file to point to a different font in this directory.
  • resources/icons - icon files in SVG format, each named for the item. The HUD comes with the usual SkyUI icons.

See the screenshots for examples of other layouts. Two layout variations are available in the optional files for this mod to give you some ideas. I hope one of you does a better layout than I could ever do, so I can use yours instead of mine. If you are trying to make a layout and  need some flexibility that isn't offered by the layout options right now, PM me and I'll see if I can make it more flexible for you.

The layout file as of version 0.2.1 is commented to help you figure out what is what. It's long, but there are only two things to learn about it. First, there's bit at the top that applies to the whole HUD. Next, there are five entries in the "layouts" table, which each start with the name of the entry. This name is not shown in the UI, but it's there to help figure out which slot is which. The slots are, in default order: powers, consumables, left hand, right hand, ammo. The order does NOT matter.

You can change values for each slot to anything you like-- they're independent of each other. So you could, for example, have the left slot on the left edge of your screen, and the right all the way at the right.

All slot locations are *relative to the anchor point of the HUD.* All offsets are *relative to the center* of the item that encloses them. This is a quirk that this mod inherits from LamasTinyHud.

Credits

I owe infinite thanks to mlthelama and LamasTinyHud for giving me a turbo-boost with this project. I learned everything I know about writing SKSE plugins and using CommonLibSSE-NG by reading the source for LamasTinyHud. ❤️

One fun fact about SoulsyHUD is that it is about 47% written in the Rust programming language, and every day I move a little bit more over to Rust. This was a snap thanks to the CXX crate, which makes implementing interfaces between C++ and Rust pleasant for lovers of each language. If you're curious how this works,  SoulsyHUD source is available on GitHub under the GPL-3.0 license. Just as mlthelama generously allowed me to fork LamasTinyHud, you have permission in advance to fork SoulsyHUD and do what you'd like with it, so long as you also share your source via the GPL. Permissions are open. Credit would be lovely, and remember to tip your hat to mlthelama as well.