Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
RecipePinner
Pin any recipe or build piece to your HUD and track the materials you still need in real time. Group pins into named projects, manage them from the My Pins panel, and optionally count nearby chests.
| Date uploaded | a month ago |
| Version | 1.3.0 |
| Download link | KadrioS-RecipePinner-1.3.0.zip |
| Downloads | 536 |
| Dependency string | KadrioS-RecipePinner-1.3.0 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333README
Recipe Pinner
Your crafting companion for Valheim
Pin recipes. Track materials. Group projects. Craft smarter.
Stop running back and forth between chests just to remember how much Iron, Wood, Resin, or Black Metal you still need.
๐ What Is Recipe Pinner?
Recipe Pinner is a quality-of-life mod for Valheim that lets you pin crafting recipes and building pieces directly to your HUD.
It tracks required materials in real time, shows what you already have, can include nearby chest contents, and gives you a clean overview of everything you are trying to craft or build.
With Recipe Pinner, you can:
- Pin crafting recipes and Hammer building pieces to your HUD.
- Track required materials from your inventory.
- Optionally include nearby chest contents with Chest Scanner.
- See a combined Gathering List for all pinned recipes.
- Group multiple pins into named projects.
- Manage all pins from the new My Pins panel.
- Automatically unpin recipes after crafting or building.
- Customize layout, colors, icon sizes, hotkeys, and more.
Less menu checking. Less guessing. More building, crafting, and exploring.
๐ Updating From Older Versions
If you are updating from an older version, especially 1.2.x, please review your config after launching the game.
Version 1.3.0 reorganizes config categories to make settings easier to understand. Because the category names changed, some existing config values may need to be re-applied.
Recommended:
- Launch the game once after updating.
- Open the config with Configuration Manager.
- Review layout, hotkeys, Chest Scanner, and Gathering List settings.
- Make sure the
RecipePinner_languagesfolder is next toRecipePinner.dll.
Your existing pinned recipe data is still supported, and 1.3.0 adds new saved data for groups and ordering.
โญ Key Features
๐ Pin Recipes And Building Pieces
Hover over a crafting recipe or Hammer build piece and press the Pin hotkey.
By default:
Mouse Wheel Clickpins or increases count.Left Shift + Mouse Wheel Clickdecreases or removes a pin.
The unpin modifier is now configurable with HotkeyUnpin.
๐งฉ My Pins And Pin Groups
Version 1.3.0 adds a new My Pins panel and Pin Groups.
Use them to view active pins, remove pins, select multiple pins, create named groups, expand groups, adjust member counts, and disband groups back into individual pins.
Groups are ideal for armor sets, building projects, portal kits, food prep, and other multi-recipe goals. A group appears as one HUD pin with a merged material list and a stacked-cards group icon.
Duplicate pins can also be split between groups or kept as individual pins, so one recipe can belong to more than one project.
When a group needs many different materials, its HUD pin switches to a compact grid to save space. If the list is still too long, the remaining materials collapse into a +N cell. A group pinned on its own always shows every material, which turns it into a permanent gathering list. Both limits are configurable.
๐ Gathering List And Chest Scanner
The Gathering List shows the combined total of all materials required by your active pins.
Chest Scanner can include nearby chest contents in material counts.
Color meaning:
- Green: enough materials in your inventory.
- Yellow: enough materials when nearby chests are included.
- Red: missing materials.
Default Gathering List key: F8
Chest Scanner is disabled by default and only reads nearby chest contents. It does not move items.
๐ฅ๏ธ Smart HUD Layout
Each pin can show a colored accent bar so you can quickly tell whether the recipe is ready to craft.
Recipe Pinner can reposition pins depending on what you are doing.
- Normal HUD layout while exploring.
- Bottom-right layout while inventory or containers are open.
- Horizontal layout support for MyLittleUI users.
- Better placement while sailing.
- Automatic pages when you pin more recipes than fit on one HUD page.
๐พ Safer Saves And Ordering
Pinned recipes, Pin Groups, group member counts, and pin/group order are saved together. Version 1.3.0 also improves save reliability with safer temp-file replacement and backup behavior.
๐ Languages And Customization
Recipe Pinner includes language files for every Valheim-supported language. Some translations were AI-assisted, so please report incorrect or awkward translations.
Almost everything is configurable: hotkeys, layout mode and position, HUD scale, fonts, colors, background opacity, recipe/material/group icon sizes, pin limit and pins per page, compact group behavior, Gathering List columns, My Pins panel size and position, Chest Scanner range and interval, and whether recipes auto-unpin after crafting or building.
๐น๏ธ How To Use
Pin Something
- Open a crafting station or Hammer build menu.
- Hover over a recipe or building piece.
- Press
Mouse Wheel Click.
The recipe appears on your HUD with its required materials.
Add More Of The Same Recipe
Press the Pin hotkey again on the same recipe.
Recipe Pinner increases the count and updates the required materials.
Decrease Or Remove A Pin
Hold Left Shift and press Mouse Wheel Click over the recipe or building piece.
You can change Left Shift in the config with HotkeyUnpin.
Create A Group
- Open your inventory.
- Open the My Pins panel.
- Click Group.
- Select at least two pins.
- Confirm and enter a group name.
The selected pins become one grouped project with a merged material list.
Manage A Group
In the My Pins panel, expand a group to view its members.
You can adjust member counts, remove members, delete the group, or disband it back into individual pins.
๐ฎ Controls
Default controls are configurable.
| Action | Default |
|---|---|
| Pin recipe / add count | Mouse Wheel Click |
| Decrease / remove pin | Left Shift + Mouse Wheel Click |
| Toggle HUD overlay | F7 |
| Toggle Gathering List | F8 |
| Cycle HUD pages | Left Alt |
| Clear all pins | P (press twice) |
| Open My Pins panel | Inventory screen button |
Clearing all pins asks for confirmation: press the key once to arm it, then again within two seconds.
The My Pins panel also includes an info button that shows current keybindings in-game.
๐ผ๏ธ Layouts And Screenshots
Click to expand screenshots
Vertical Mode
Placed under the minimap. Good for vanilla UI. This is what the default Auto-Detect mode uses when MyLittleUI is not installed.

Horizontal Mode
Useful for MyLittleUI users. Places pins near the map side. When the layout setting is left on Auto-Detect and MyLittleUI is installed, this layout is triggered automatically.

Bottom Right Horizontal Mode
Keeps the top of the screen cleaner and works well when inventory or containers are open.

My Pins Panel
Manage, remove, group, disband, and inspect your active pins from the inventory screen.

Pin Groups
Group multiple recipes into one named project with a merged material list.

Expanded Group Members
Expand a group in My Pins to manage individual members and group claim counts.

Compact Group Layout
When a group needs many different materials, its HUD pin switches to a compact grid to save space.

Overflow Cell
If a compact group is still too long, the remaining materials collapse into a single +N cell.

Controls Info Panel
View current keybindings and basic usage instructions from inside the My Pins panel.

MyLittleUI Compatibility
Recipe Pinner can automatically adjust its layout when MyLittleUI is installed.

Inventory Open
When inventory is open, pins can move to a cleaner bottom-right layout.

Gathering List
The Gathering List shows combined material requirements across all pins.

Chest-Side Gathering List
The Gathering List snaps next to an open chest, so you can see what you still need while moving items around.

Chest Scanner
When Chest Scanner is enabled, nearby chest materials can be included in the displayed counts.

HUD Pages
When you pin more recipes than fit at once, they split into pages. Cycle through them with the page hotkey.

Sailing
Recipe Pinner can move pins while sailing to reduce HUD overlap.

โ๏ธ Configuration
Using Configuration Manager is strongly recommended.
Recommended config manager:
Official BepInEx ConfigurationManager
Press F1 in-game to edit settings.

๐ง Installation
Mod Manager
Install with Thunderstore Mod Manager or r2modman.
This is the easiest option and handles dependencies automatically.
Manual Installation
- Install BepInExPack Valheim.
- Download Recipe Pinner.
- Place
RecipePinner.dllinside yourValheim/BepInEx/plugins/RecipePinner/folder. - Place the
RecipePinner_languagesfolder next toRecipePinner.dll. - Launch the game.
Your folder should look like this:
BepInEx/
โโโ plugins/
โโโ RecipePinner/
โโโ RecipePinner.dll
โโโ RecipePinner_languages/
โโโ English.json
โโโ Turkish.json
โโโ ...
Important: RecipePinner_languages must stay next to RecipePinner.dll.
๐ Languages
Recipe Pinner auto-detects your Valheim language.
You can also force a language with the LanguageOverride config option.
Version 1.3.0 includes language files for every Valheim-supported language.
Note: Some translations may be imperfect because they were AI-assisted. If you find a bad translation, please report it.
You can also fix one yourself: open the matching .json file in BepInEx/plugins/RecipePinner/RecipePinner_languages/, edit the text on the right side of each line, and save. Leave placeholders like {0} untouched, since they are replaced with numbers and key names at runtime.
โ FAQ
Does Recipe Pinner craft items automatically?
No. Recipe Pinner only tracks recipes and materials. You still craft and build normally.
Does Chest Scanner move items from chests?
No. It only reads nearby chest contents and includes them in the displayed material counts.
Is Chest Scanner enabled by default?
No. Chest Scanner is disabled by default. You can enable it from the config if you want nearby chest contents to count toward requirements.
Can I pin building pieces?
Yes. Hammer build pieces can be pinned like crafting recipes.
What happens if I pin the same recipe again?
The pin count increases, and the displayed material requirements update for the new count.
How do I remove or decrease a pin?
By default, hold Left Shift and press Mouse Wheel Click over the recipe or build piece. You can change the modifier with HotkeyUnpin.
How do I open My Pins?
Open your inventory and use the My Pins button. From there, you can view, remove, group, disband, and manage pins.
Can I group pins?
Yes. Starting with 1.3.0, you can create named Pin Groups from the My Pins panel.
Can a recipe belong to more than one group?
Yes. Recipe Pinner supports per-group member claim counts, so duplicate pins can be split between groups or kept as individual pins.
Can I remove a group without losing the recipes?
Yes. Use Disband to turn group members back into individual pins.
Why does my group pin show "+N" instead of all materials?
Groups with many different materials switch to a compact grid, and that grid is capped so one large group cannot stretch every pin next to it. The materials that do not fit are collapsed into a +N cell.
You can raise the row cap with GroupCompactMaxRows, or change when compact mode starts with GroupCompactThreshold. Both apply immediately. A group pinned on its own never shows +N.
Are pins shared between my characters?
No. Each character has its own pins, saved separately. Switching characters loads that character's own list.
Does Recipe Pinner work with MyLittleUI?
Yes. AutoDetect can adjust the HUD layout when MyLittleUI is installed to reduce overlap with other UI elements.
Can I change the controls?
Yes. Hotkeys can be changed from the config. Using Configuration Manager is recommended.
Why did some config settings reset after updating?
Version 1.3.0 reorganized config categories. If a setting moved to a new category, you may need to review or reapply it.
Why are some translations imperfect?
Version 1.3.0 includes language files for every Valheim-supported language, but some translations were AI-assisted. Please report incorrect or awkward translations.
๐งญ Future Ideas
These are features I may consider for future updates:
- Group readiness bar: split a group's accent bar into one segment per member, so a single glance tells you which recipes in the project are already craftable. The third recipe in the group lights up the third segment.
- Chest Scanner support in the readiness bar: turn the accent bar yellow when a recipe is craftable only with nearby chest contents, matching how material counts already behave.
- Pinned recipe highlight: draw a border around pinned recipes inside the crafting panel so you can see what is already pinned at a glance. This one may not be feasible.
- Hold-to-pin quantity preview: hold the Pin hotkey to see how many copies you are about to pin before releasing.
- Pin keybind hint: show the Pin control in the crafting menu's hint bar, next to Move and Use, so new players can discover the pin key without opening the config.
- Material gathered notification.
- Auto-sorting craftable pins to the top.
- Visual chest highlighting for required materials.
- More compatibility improvements with other UI and crafting mods.
- VNEI compatibility.
๐ค AI-Assisted Development
Starting with version 1.3.0, Recipe Pinner is marked as AI-Generated on Thunderstore for transparency. In practice, I think AI-Assisted describes the situation more accurately, but the 1.3.0 update used enough AI-assisted coding that the Thunderstore label felt like the more honest choice.
Earlier versions also used AI assistance, but in a much more limited way: mainly to help locate the relevant parts of the Valheim/BepInEx APIs and referenced Valheim game DLLs, understand which classes or methods were useful for the mod, investigate possible bugs, and reason about edge cases.
Version 1.3.0 was different. I originally tried to build the new systems without heavy AI help, but I could not get them to a release-ready state on my own. In the Work in Progress section, I had said the update might be released within about a month; it is now close to three months, and this is the main reason it took longer. Development started well, but as My Pins, Pin Groups, expanded group management, save/order handling, and release-blocker fixes grew more complex, I started getting stuck and chose to rely on AI assistance much more than before.
That does not mean the mod was released without human review. The final decisions, testing, in-game validation, release judgment, and responsibility for the mod are still mine. I reviewed the changes, tested the behavior in Valheim, and validated the release manually before publishing.
Thank you for using Recipe Pinner.
โ Support My Work
If Recipe Pinner makes your Valheim life easier, you can support development here:
๐ Mirrors
๐ฌ Support And Feedback
Found a bug, translation issue, or compatibility problem?
Contact me on Discord:
kadrio
Or create an issue on GitHub:
Pin it. Group it. Gather it. Build it.
See you in Valheim.
CHANGELOG
1.3.0
Added
-
Added Pin Groups: select multiple pins and combine them into a named group with a merged resource list and a stacked-cards group icon.
-
Added a new My Pins management panel, accessible from the inventory screen, for viewing, selecting, grouping, disbanding, and removing pins.
-
Added expandable sub-item views in the My Pins panel for managing individual group members.
-
Added per-group member claim counts, allowing recipes to belong to multiple groups or remain partially available as individual pins.
-
Added persistent group/order support: Pin Groups, group member counts, and pin/group ordering are now saved and loaded alongside existing pinned recipe data.
-
Added Compact Group Layout (
GroupCompactThreshold): groups with many unique materials automatically switch to a compact grid layout to save HUD space. The threshold applies immediately without restarting, and the grid's column count is derived from your configured pin width. -
Added
GroupCompactMaxRows: controls how many grid rows a compact group pin shows before the remaining materials collapse into a+Ncell. Changes apply immediately without restarting. -
Added a full-list mode for lone groups: a group pinned on its own drops the
+Ncell and shows every material, turning it into a permanent gathering list. -
Added confirmation and group-naming dialogs with input locking so game controls do not interfere while typing.
-
Added a Controls Info panel, accessible via the info button in the My Pins panel, showing keybindings and usage instructions.
-
Added configurable Unpin modifier (
HotkeyUnpin): hold it while pressing the Pin hotkey over a recipe or build piece to decrease/remove that pin. -
Added a dedicated building auto-unpin setting (
AutoUnpinAfterBuilding), separate from crafting auto-unpin behavior. -
Added configurable column count for the Gathering List grid, with automatic panel resizing in horizontal layouts.
-
Added new HUD icon size settings for recipe, material, and group icons.
-
Added new My Pins panel/button configuration options.
-
Added missing language files to the
RecipePinner_languagesfolder so every Valheim-supported language now has a translation file.- Note: Some translations may be imperfect because they were AI-assisted. Please report any incorrect translations.
Changed
-
Building-piece auto-unpin is now controlled by its own
AutoUnpinAfterBuildingsetting instead of sharing the crafting auto-unpin setting. -
Improved building auto-unpin handling for placed building pieces.
-
Improved recipe/build hotkey handling so invalid contexts no longer trigger unintended pin/unpin behavior.
-
Improved save/load reliability for pinned recipes and pin order.
-
The clear-all hotkey now asks for confirmation instead of wiping every pin on a single press: press it once to arm, then again within two seconds.
-
Improved Gathering List positioning and layout behavior in horizontal HUD layouts.
-
Improved HUD/Gathering List behavior when pins are hidden or when the Gathering List is shown by itself.
-
Improved MyLittleUI AutoDetect compatibility, including better vertical placement when MyLittleUI status lists are disabled.
-
Improved MyLittleUI config parsing so only exact
Enable = true/falsevalues in the relevant sections are read. -
Improved localization parsing, including support for common escaped characters and different line endings.
-
Reorganized config categories for clearer ordering and grouping.
- Note: Because config category names changed, some users may need to review or reapply existing config values.
Fixed
- Fixed recipes with multiple output variants (for example Bronze 1x and Bronze 5x) always pinning the first variant. The hovered row is now matched exactly instead of by display name, so the 5x recipe pins its own 5x material cost. This also affects mods that add 1x/5x crafting options.
- Fixed the mod overwriting your pin save file with empty data while it was disabled. With
EnableMod = false, two consecutive saves could permanently erase every pinned recipe. - Fixed cleared pins not being saved immediately after using the clear-all hotkey.
- Fixed auto-unpin results being lost when the game closed without a clean exit.
- Fixed pins loading without validation after switching characters within the same session.
- Fixed pin saves to use an atomic temp-file replace with a
.bakbackup instead of writing directly to the final save file. - Fixed duplicate save entries producing duplicate pin order and UI entries.
- Fixed impossible edited-save upgrade pins such as
โ 999being accepted. - Fixed
MaximumPinsreductions not trimming, rebuilding, and paginating pins consistently. - Fixed pagination/page-size behavior when
MaximumPins < PinsPerPage. - Fixed Recipe Pinner hotkeys firing behind non-crafting inventory panels such as Skills, Trophies, and Compendium.
- Fixed the unpin combination acting or logging outside valid recipe and build contexts.
- Fixed possible crashes, null-reference edge cases, or missing display data when recipes, build pieces, modded resources, Gathering List slots, pin slots, or resource slot UI components contain incomplete data.
- Fixed
RefreshRecipeCacheforcing the HUD visible for a frame even when the overlay was hidden. - Fixed HUD visibility becoming inconsistent after clearing all pins while the overlay was hidden.
- Fixed player death/null-player UI handling so pinned HUD overlays hide together with the rest of the game HUD.
- Fixed shutdown save-path warnings when the mod is destroyed after the player name has already been cleared.
- Fixed Gathering List positioning when HUD pins are hidden: pagination spacing no longer leaves an empty offset, so the Gathering List can move into the first pin position correctly.
- Fixed an issue in horizontal layout mode where the Gathering List retained an incorrect offset and gap because anchors were not reset correctly in gathering-list-only mode.
- Fixed Gathering List placement in MyLittleUI vertical AutoDetect mode when its status lists are disabled.
- Fixed Chest Scan runtime toggling so enabling or disabling it through a mod manager takes effect without restarting the game.
- Fixed stale container references not being cleared when Chest Scan is disabled.
- Fixed container cleanup so destroyed containers are removed from tracking more reliably.
- Fixed Chest Scan re-enable behavior so active containers are scanned again after toggling the feature back on.
- Fixed inventory item count recalculation occurring every frame during Chest Scan; it is now only evaluated when a container scan trigger condition is met.
- Fixed the
LanguageOverrideconfig value flowing into a file path without sanitizing.
OLD VERSIONS
1.2.4
- Fixed Gathering List positioning issues across all layout modes when pins are hidden via toggle (F7).
- Fixed Gathering List not repositioning to chest location when pins are hidden and a chest is opened.
- Fixed Gathering List visibility being reset when changing config settings while only the Gathering List is visible.
- Fixed an issue where the Gathering List wouldn't update inventory amounts while pins were hidden (F7 mode).
- Fixed a potential bug where clearing all pins while a chest is open could cause the Gathering List panel to remain orphaned on the screen.
- Fixed reflection initialization log reporting inaccurate success/fail counts.
- Fixed inconsistent logging in MyLittleUI config reader.
- Added value range (8-40) to font size config entries to prevent invalid values.
- Removed dead code and cleaned up leftover code artifacts.
- Refactored UIManager into partial classes for better code organization.
1.2.3
โ ๏ธ IMPORTANT NOTE FOR EXISTING USERS: Due to layout improvements, the default position for the Gathering List while a chest is open has changed. Please delete your old .cfg file or manually update the InventoryGatheringListPosition setting to x: -400, y: 320 in the config file properly align it.
Developer Note: When I released version 1.2.0, I didnโt have the chance to thoroughly test the mod, and while trying to fix some issues, I ended up breaking other things. If you encounter any bugs, please donโt hesitate to report them via Discord (kadrio) or GitHub. Thank you for your patience!
- Fixed Gathering List incorrectly multiplying material amounts when the same recipe was pinned multiple times.
- Fixed Gathering List opening empty on the first pin instead of waiting for 2+ pins.
- Fixed Gathering List not clearing its data when all pins were removed.
- Fixed an issue where the Gathering List's position while a chest is open.
- Please report bugs.
1.2.2
- Optimized memory usage and eliminated unnecessary log outputs by ensuring the game's containers are no longer tracked in the background when the Chest Scanner feature is disabled.
- A new โWork in Progressโ section and new features for โFuture Plansโ have been added to the README file.
- No need to delete config file.
1.2.1
- README file fixed only. No need to delete config file.
1.2.0
- โ ๏ธ IMPORTANT: The configuration structure has been heavily overhauled. Please delete your old com.Kadrio.RecipePinner.cfg file before launching the game!
- ๐ LOCALIZATION UPDATE: Added new translation keys for the Gathering List (
gathering_title,gathering_opened,gathering_closed,gathering_empty,gathering_hint). The 13 default languages are already updated, but if you use a custom language file, please update it! - Added a new 'Gathering List' panel (Toggle: F8) that aggregates total required materials across all pinned recipes.
- Added automatic visibility logic for the Gathering List (auto-opens when 2+ recipes are pinned, auto-closes when below 2).
- Added a 'Craft Readiness Indicator' to pins, displaying a colored accent bar (green = ready to craft, red = missing materials).
- Added Auto-Unpin functionality that automatically removes recipes from the screen after crafting or building them.
- Inventory/Chest Awareness: When opening your inventory or a chest, the pins will now automatically temporarily switch to the existing 'Bottom Right Horizontal' layout so they don't block the screen.
- The Gathering List will also reposition itself next to the chest panel for easy comparison.
- Implemented real-time live-updating for the Gathering List while interacting with chest contents.
- Improved UI aesthetics by dynamically aligning all pin heights on each page to match the longest panel, preventing jagged layouts and ensuring a clean, uniform look.
- Optimized overall performance by significantly reducing unnecessary UI rebuilds and per-frame calls.
- Improved general codebase stability through extensive cleanup.
1.1.4
- In the 1.1.3 update, I put in an old DLL lol (sorry).
1.1.3
- Fixed upgrade recipes (โ 3, โ 4) showing incorrect material amounts โ now correctly calculates costs based on upgrade level.
- Optimized container scanning with a movement cooldown to prevent excessive scans.
- Reduced memory allocations by reusing container snapshot buffers instead of creating new lists each scan.
- Improved dictionary access efficiency across TogglePin, AutoUnpinHook, and AutoUnpinBuildHook using TryGetValue pattern.
- Removed unused legacy PinnedRecipe.cs file.
1.1.2
- Added full support for tracking Item Upgrades (pinning directly from the Upgrade tab).
- Added smart auto-unpin logic to correctly distinguish between crafting new items and upgrading existing ones.
- Added new localization keys (max_level, no_upgrade_cost) for upgrade notifications.
- Optimized internal logic with reflection caching to improve performance and reduce overhead.
- Note: Users with custom language files must update them to include new keys to avoid missing text.
1.1.1
- Updated installation instructions in README. No code changes.
1.1.0
- Added pagination system to handle large numbers of pins (configurable 'PinsPerPage').
- Added visual pagination indicators (diamond dots) with configurable size, spacing, and opacity.
- Added 'Cycle Page' hotkey (Default: LeftAlt) to switch between pages.
- Fixed critical issue where auto-unpinning did not work for construction/hammer placement (added Player.PlacePiece hook).
- Fixed 'Save path invalid' and 'ObjectDB null' warnings in logs during startup/shutdown.
- Optimized UI rendering with dirty-check mechanism to improve performance.
- Updated configuration handling.
1.0.2
- Fixed an issue where using the Middle Mouse Button to remove/deconstruct build pieces would accidentally pin the recipe. Pinning is now restricted to hovering over HUD icons only.
1.0.1
- Fixed README images
1.0.0
- Initial Release
