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.
Smartpickup
Provides an additional autopickup setting, which will only pick up what you already have in your inventory.
| Date uploaded | a year ago |
| Version | 1.0.1 |
| Download link | b0n3-Smartpickup-1.0.1.zip |
| Downloads | 167 |
| Dependency string | b0n3-Smartpickup-1.0.1 |
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
Smartpickup
Smartpickup is a Valheim mod that provides three different autopickup modes—Normal, Smart, and Off—allowing you to control how items are automatically collected.
Features
- Normal Mode: Uses the default autopickup behavior.
- Smart Mode: Only picks up items if you already have an item of the same type in your inventory.
- Off Mode: Disables autopickup entirely.
Installation
-
Install BepInEx:
Ensure you have denikson-BepInExPack_Valheim-5.4.2202 or a later version installed. -
Deploy the Mod:
Place the mod DLL,manifest.json, and thisREADME.mdfile in yourBepInEx/pluginsfolder. -
Launch Valheim:
Start the game through r2modman or your preferred launcher. The mod should load automatically.
Usage
- Press the V key to cycle through the three modes:
- Normal: Default autopickup.
- Smart: Autopickup only if your inventory already contains that item type.
- Off: Autopickup is disabled.
- A message will display the current mode on-screen.
Dependencies
- BepInExPack_Valheim: denikson-BepInExPack_Valheim-5.4.2202 (or later)
Support & Feedback
If you need support or wish to provide feedback, please join our Discord: https://discord.gg/RpzrsWcVcC
License
This mod is licensed under the MIT License.
Copyright (c) 2025 bone
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
CHANGELOG
1.0.7
- Restored vanilla
Player.AutoPickuphandling for Normal mode, including support for expanding the vanilla pickup radius from config. - Reworked Smart mode item attraction to mirror Valheim's transform-based pull behavior instead of rigidbody velocity, reducing dangerous (but hilarious) item flinging.
- Added vanilla autopickup range tracking so mode switches and runtime config changes restore the player's original range outside custom Normal mode.
1.0.6
- Hardened SmartPickup so only the local player can drive custom autopickup mode changes.
- Tightened autopickup toggle detection so mode switching only reacts to real vanilla autopickup state changes.
- Replaced the old per-frame vanilla autopickup resync with targeted lifecycle-based syncing.
- Optimized the custom pickup hot path with cached field access, squared-distance checks, and reusable item identity storage.
- Clamped configured pickup range values to a sane runtime range, with support for values up to 100.
- Added one-time warnings for critical private-field lookup failures and split the mod into focused source files for easier maintenance.
- Added runtime config hot reload for mode, pickup range, and normal-mode custom range changes.
- Updated the plugin GUID to
com.b0n3.smartpickupand added legacy config migration fromcom.yourname.valheim.smartautopickup. - Switched
PickupRangeto whole-number values and normalized legacy decimal values for cleaner config editing. - Hardened local build and release scripts so MSBuild resolution and release packaging work more reliably across machines.
1.0.5
- Added
General.ApplyCustomRangeInNormalModeso normal autopickup can optionally use SmartPickup's configurable pull range. - Reworked custom pickup scanning to share one efficient path, using a reusable non-alloc overlap buffer and a one-pass inventory name lookup for smart mode.
- Moved mode switching onto Valheim's shared vanilla autopickup toggle flow so controller and keyboard both cycle modes reliably.
1.0.4
- Updated the mod against the current local Valheim and BepInEx setup.
- Fixed a smart pickup safety issue around missing
ZNetViewcomponents. - Synchronized assembly and package metadata for cleaner builds and releases.
- Cleaned up the project layout and added helper scripts for build, deploy, and release packaging.
1.0.3
- Added more comprehensive error handling via try-catch blocks.
- Introduced a configuration menu for setting the default autopickup mode and pickup radius.
1.0.2
- Adjusted on-screen message to display as "Auto-Pickup:On", "Auto-Pickup:Smart", or "Auto-Pickup:Off".
1.0.1
- Fixed autopickup logic to support keybind changes.
1.0.0
- Initial release of Smartpickup.