ModernArpgControllerGameplay
Reworks the vanilla hotbar into a diamond UI with dedicated slots for cycling between your weapons, tools and consumables, with macros for quick shield, torches and utility. QoL features for easily re-equipping your gear and Megingjord after deathModernArpgControllerGameplay
Controller gameplay for Valheim, built like a modern action RPG. Your hotbar becomes the Tool Diamond: one d-pad direction for each kind of item. Your shield, light and belt get shortcuts of their own, and after a death your gear goes back on in one press.
- One d-pad direction per kind of item. Weapons up, ranged left, food and meads right, tools down. No more scrolling through the whole hotbar mid-fight.
- Shortcuts on the guard button for your shield, sheathing and belt items. Holding d-pad left turns on your light.
- Your gear back after a death. Loot your grave, press one combo, and your armour, cape and belt go back on.
- Spears that work like ammo. Throw one and the next is already in your hand.
- Settings in the game's own Settings screen, with a Controls page that shows every button for your layout.
- Client-side. Nobody else needs it, and it works on vanilla servers.
Formerly DiamondHUD. This is the same mod under a new name. DiamondHUD is deprecated and gets no more updates. Your DiamondHUD settings and saved data carry over on the first launch, and if DiamondHUD is still installed this mod turns it off for you.
Why I made this
My friends have been playing with a controller for years. After trying it myself I was shocked at how much it holds you back compared to mouse and keyboard. Moving through the hotbar is a minigame of its own, and not being able to move with the inventory open adds a lot of small annoyances. This mod tries to give controller players the same freedom of action they'd get on m&k.
Quick start
- Install the mod and start the game with your controller connected. The Tool Diamond replaces the hotbar in the top left corner of the screen.
- Put your weapons, bows, food and meads on the hotbar as usual. Tools and arrows can stay in your inventory: the diamond finds them there.
- Tap a d-pad direction to pick an item from that slot. It gets equipped a moment after your last tap, so you can scroll past several items and only pay for one equip animation.
- Hold guard and press X to put your shield on or take it off.
- Open Settings → Tool Diamond → Controls to see every shortcut with your controller's button icons.
That's all you need to start playing. The rest of this page explains each part in detail.
Controls
Guard is your block button: LB on Alt1, LT on Classic and Alt2. The mod reads the gamepad layout you picked in the game's Controls settings and puts the shortcuts on buttons that layout leaves free. If you change layout while playing, the shortcuts follow without a restart.
The d-pad
| Input | What it does |
|---|---|
| d-pad up | cycle weapons: melee and elemental magic |
| d-pad left | cycle bows, crossbows, spears and blood magic |
| d-pad right | cycle food, meads and bombs |
| d-pad down | cycle tools |
| hold d-pad left | turn your light on or off |
| hold d-pad right | jump to the first food or mead, skipping any bombs |
| hold d-pad down | sit down or stand up |
A hold takes one second. Up has no hold, so you can keep it pressed to scroll through your weapons.
Shortcuts
| Input | What it does |
|---|---|
| X (Classic) / B (Alt1, Alt2) | eat or drink what the food slot is showing |
| heavy attack | change ammo, or change bait with the rod out |
| guard + X | put your shield on or take it off |
| guard + Y | sheathe your weapons, or draw them again |
| both left shoulder buttons | cycle your belt items, or put your gear back on after a death |
| L3 + R3 (Classic) | forsaken power |
Holding guard also stops weapon and tool swaps, so you can't change weapon by accident in the middle of a block. Food and ammo still work.
Crouch and lock-on
On its own, this mod leaves crouch alone. You crouch with the game's own button: the right stick click on Alt1 and Alt2, the left stick click on Classic. A short tap of the holster button (LT on Alt1, LB on Alt2, the right stick click on Classic) still sheathes your weapons as in the game, and guard + Y does the same.
With TargetLockOn installed, you also get a lock-on, and it needs a button. The two mods share out two buttons between lock-on and crouch: the right stick click and a tap of the holster button. By default lock-on goes on the right stick and crouch moves to the tap:
| Layout | Default | Swapped |
|---|---|---|
| Alt1 | lock-on R3, crouch tap of LT | lock-on tap of LT, crouch R3 |
| Alt2 | lock-on R3, crouch tap of LB | lock-on tap of LB, crouch R3 |
| Classic | lock-on tap of R3, crouch L3 | lock-on L3, crouch tap of R3 |
- To swap them, open Settings → Tool Diamond and change the Lock-on row. The row only appears when TargetLockOn is installed, and the Controls page shows where both ended up.
- A tap is a press shorter than a third of a second. Holding the button still opens the radial menu, as in the game.
- Sheathing stays on guard + Y. The holster tap belongs to TargetLockOn while it's installed.
- L3 + R3 together never locks on: it's the forsaken power.
The Tool Diamond
The four slots
| Slot | What's in it | Where it looks |
|---|---|---|
| up | swords, axes, clubs, knives, atgeirs, two-handers, elemental magic staffs | your hotbar |
| left | bows, crossbows, throwing spears, blood magic staffs | your hotbar |
| right | food, meads, bombs | your hotbar |
| down | hammer, hoe, cultivator, pickaxe, fishing rod, serving tray | your whole inventory |
The three combat slots only read your hotbar. What you can reach in a fight is what you put on the hotbar beforehand, so those slots stay as short as you keep them. The tool slot reads your whole inventory, because a pickaxe isn't worth a hotbar slot but you still want it within reach.
A few things to know:
- One-handed axes go either way. On the hotbar an axe is a weapon and shows in the up slot. In your inventory it's a tool and shows in the down slot. Move it and it switches.
- Magic is the one thing you choose. Each school can cycle in the up or the left slot, from the settings tab or with
ElementalMagicSlotandBloodMagicSlot. - The Abyssal harpoon stays in the up slot. It's a spear, but it isn't thrown away.
- Anything that opens a build menu counts as a tool.
The window above the left slot
A smaller window above the left slot changes with what you're holding:
- a shield equipped: it shows the shield
- a bow, crossbow or fishing rod out: it shows your ammo and how much is left. Heavy attack changes it
- neither: it's hidden
The centre
Your belt item sits in the middle of the diamond: the Megingjord, the Wishbone, or anything else that goes in the utility slot. Since the diamond already shows it, the mod removes its icon from the status bar.
Fading out
The diamond fades out after three seconds with nothing happening and comes back as soon as something changes. It stays on screen while you fight: after your own attacks, and while an alerted enemy is chasing you within 30 metres. While it's faded, a change shows only the slot it happened in. Swap your weapon and only the weapon slot appears. A lit torch keeps its slot on screen, because the durability bar on it is how much light you have left.
F1 turns fading on and off.
Colours and status icons
The slot frames take the colour of the biome you're in: green in the Meadows, gold in the Plains, deep red in the Ashlands. You can set a colour for each biome or turn this off.
The row of status icons moves from under the minimap to the bottom of the screen, next to the forsaken power, at 70% size. Most of your character's information is already down there, so checking a poison timer mid-fight means less looking around. The settings tab puts it back with one switch.
Features
Equipping without the wait
Tapping a direction only moves the highlight. The item gets equipped 0.35 seconds after your last tap, so scrolling past five weapons costs one equip animation instead of five.
You can keep picking while an equip animation is playing, and change slot while you're at it. Your new choice goes into the game's own action queue and starts when the current animation ends, so a press is never lost.
Light
Hold d-pad left to turn your light on. If you carry a Dverger circlet it goes on your head and both hands stay free. Otherwise you get a torch or a lantern, and the mod keeps the weapon you were holding:
- sword and shield: the shield comes off to make room, and goes back on when the torch goes away
- two-hander or bow: the mod draws your last one-handed weapon first, so the torch has a free hand
Hold d-pad left again to go back to exactly what you had before. While a light is out, tapping d-pad left switches between the lights you carry.
Shields
Shields aren't in the d-pad cycle. Guard + X takes care of them, and like everything you reach for in a fight they come from your hotbar: a shield in your backpack is never put on by the mod.
- shield equipped: it comes off
- one-handed weapon in hand, or showing in the weapon slot: the shield goes on
- two-hander, bow or empty hands: the mod draws a one-handed weapon and puts the shield on, in one press
- no shield on your hotbar: it draws your first weapon instead, so the button still does something
Equip a sword next to a shield once and the mod remembers the pair. From then on, drawing that sword also equips its shield, as long as that shield is on your hotbar. Move the shield to your backpack and the pair waits for it to come back. If the shield is gone from your inventory altogether, the pair moves to the shield on your hotbar. Taking the shield off with guard + X clears the pair.
Belt items
Both left shoulder buttons cycle the belt items in your inventory, with no hotbar slot and no inventory screen. Swapping the Megingjord for the Wishbone in the middle of a crypt is one press.
Getting your gear back after a death
When you die, the mod notes what you were wearing: chest, legs, helmet, belt, cape and trinket. Loot your grave, press both left shoulder buttons, and it all goes back on in that order. Slots that were empty when you died stay empty, so the mod won't wait for a cape you never had. Press again for anything that wasn't in your inventory the first time. Once every slot is filled, the combo goes back to cycling belt items.
The Megingjord gets special treatment:
- Over the weight limit when you press the combo? The Megingjord goes on first, so you can carry the rest home.
- Grave too heavy to loot in one go? Interact with it and the mod takes the Megingjord out and equips it, instead of opening the grave. The game shows "Equipping Megingjord" in your language. Interact again and the grave works as usual.
Spears
The left slot shows how many spears of that kind you carry in total, not just the one in your hand. Throw one and the next spear of the same kind moves into the slot you threw from and gets equipped, so you can keep throwing. Upgrade levels are counted together, and the slot shows the level of the one you're holding.
When you run out, the slot stays reserved. Pick a spear up off the ground and it goes back to the slot you throw it from. If something else ended up there in the meantime, it's moved out of the way, unless it's a weapon, tool, food, shield, torch or ammo, which the mod assumes you put there on purpose. If that spear was also the last weapon in your hand and your hands are still empty, picking it up equips it.
Bombs
Bombs are used up rather than swapped to, so they live in the food slot. D-pad right scrolls through them with your meads, and the eat button puts one in your hand, ready to throw. If you carry a lot of them, hold d-pad right to skip straight to the first food or mead.
Fishing
Take out the rod and the mod loads your first bait. Baits show in the window above the left slot, like arrows, and heavy attack changes them. Bait takes a moment to equip, so the mod waits until you stop scrolling before loading it. Put the rod away and your previous ammo comes back.
Settings
In the game
Settings → Tool Diamond has the options you're most likely to change: fading and its timer, the d-pad hold time, the equip delay, the slot for each school of magic, the lock-on button (with TargetLockOn installed), where the status icons go, sitting on the d-pad hold, putting your gear back on after a death, and the diamond's position and size.
Position is counted from the top left corner of the screen, and 1 is where the diamond starts. Lower moves it toward the corner, higher moves it away.
The Controls button opens a page with every shortcut and your controller's button icons, for the layout you're on. It follows your choices on the tab right away, before you press OK.
Config file
Everything else is in BepInEx/config/vktr.modernarpgcontrollergameplay.cfg, created on the first launch. Changes apply right away, so you can adjust the diamond with a configuration manager while standing in the world. The ones you're most likely to look for:
| Section | Setting | Default | What it does |
|---|---|---|---|
| Bindings | Layout |
Auto | Follows the game's Controls setting. Classic, Alt1 or Alt2 locks it, Custom lets you place every shortcut yourself |
| Bindings | DPadHoldSeconds |
1 | How long a hold takes. 0 turns all three holds off |
| Bindings | ClassicGuardianPowerCombo |
true | Classic only. Puts the forsaken power on L3 + R3, since d-pad down is the tool slot |
| Input | EquipDelay |
0.35 | How long the mod waits after your last tap before equipping |
| Input | AutoShield |
true | Drawing a paired weapon also equips its shield |
| Input | AutoShieldWeapon |
true | Guard + X also draws the one-handed weapon your weapon slot is showing |
| Input | ElementalMagicSlot / BloodMagicSlot |
Top / Left | Which slot each school of magic cycles in |
| Input | RestoreGearAfterDeath |
true | Notes your gear when you die and puts it back on with the combo |
| Input | AutoMegingjord |
true | The combo puts the Megingjord on first when you're over the weight limit |
| Input | GraveBelt |
true | At your own grave, equips the Megingjord when the rest would put you over the weight limit |
| Input | SpearRestock |
true | Moves the next spear into the slot after a throw |
| Input | SpearSlotMemory |
true | Returns a spear you pick up to the slot you throw it from |
| Input | RestoreAmmoAfterFishing |
true | Brings your ammo back when you put the rod away |
| Input | RequireGamepad |
true | Shows the diamond only while a controller is in use |
| HUD | PixelOffsetX / PixelOffsetY |
170 / -320 | Where the diamond sits, in pixels from the top left corner. The settings tab shows these as multiples, so 1 is the default |
| HUD | Radius / Scale |
77 / 1 | How far apart the slots are, and how big they are |
| HUD | ImmersiveMode / ImmersiveIdleSeconds |
true / 3 | Whether the diamond fades out, and after how long |
| HUD | WakeOnlyChangedSlots |
true | While the diamond is faded, a change shows only its own slot |
| HUD | CombatRange |
30 | How close, in metres, a chasing enemy keeps the diamond on screen |
| HUD | BiomeTint |
true | Frame colours follow the biome |
| HUD | MoveStatusList |
true | Moves the status icons next to the forsaken power. Off puts them back |
| HUD | ShowBeltWindow |
true | Shows your belt item in the middle of the diamond |
A modded item in the wrong slot? Add its name to the matching list: ExtraToolNames, TorchNames, RodNames, CircletNames, ExtraBombNames, SpearExcludeNames or MegingjordNames.
Building a Custom layout? Set DebugButtons = true and the log prints every button as you press it, so you can see which ones your controller has free.
Compatibility
- TargetLockOn is made to go with this mod: it adds a lock-on, and the two share out the crouch and lock-on buttons. How, layout by layout, is under Controls → Crouch and lock-on above.
- Other UI mods that move the hotbar or the status icons can clash with the diamond, because the mod reuses those parts of the vanilla HUD instead of drawing its own. Each one can be handed back:
HideVanillaHotbarfor the hotbar,MoveStatusListfor the status icons. - DiamondHUD is this mod's old name. Don't run both: if you do, this mod turns DiamondHUD off and says so in the log.
Moving from DiamondHUD
Install this mod and launch the game once. Your settings, weapon and shield pairs, spear slots and saved death gear are copied over from DiamondHUD's files, which stay where they are. Then uninstall DiamondHUD.
Good to know
- Client-side only. It doesn't need to be on the server, your friends don't need it, and versions don't have to match.
- Your weapon and shield pairs, spear slots and death gear are kept in a plain text file per character in
BepInEx/config. You can open and edit it, and quitting between dying and looting your grave doesn't lose anything. - The settings tab and the Controls page are in English. The Megingjord message at your grave uses the game's own words, so it follows your game language.
Technical details
Tested on Valheim 1.0.15 with BepInExPack Valheim 5.4.2351.
The diamond's slots are copies of the vanilla hotbar slots, so icons, stack counts, durability bars and upgrade levels are drawn by the game. The mod reuses three parts of the vanilla HUD, each with its own setting:
- the vanilla hotbar is hidden while the diamond is shown:
HideVanillaHotbar - the status icons move next to the forsaken power:
MoveStatusList - the forsaken power can move into the middle of the diamond:
GuardianPowerInCentre, off by default
The mod takes a few presses away from the game so its shortcuts can use them: sitting on d-pad down (SuppressVanillaSit gives it back), the face buttons while guard is held (GuardOwnsMacroButtons), and on Classic the forsaken power on d-pad down, which moves to L3 + R3 (ClassicGuardianPowerCombo).
Nothing is written to your world or your character. The only file the mod writes, apart from its config, is the one text file per character.
Installation
With r2modman or Thunderstore Mod Manager: click Install.
Manually: install BepInExPack Valheim, then put ModernArpgControllerGameplay.dll in BepInEx/plugins.
