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
Adds smart autopickup modes, optional custom normal pull range, and reliable controller-friendly mode cycling.
| Date uploaded | 3 months ago |
| Version | 1.0.5 |
| Download link | b0n3-Smartpickup-1.0.5.zip |
| Downloads | 79 |
| Dependency string | b0n3-Smartpickup-1.0.5 |
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 gives you control over autopickup behavior. There are three modes:
- On (Normal): Standard autopickup, with an optional config toggle to use SmartPickup's custom pull range.
- Smart: Only pick up items already in your inventory.
- Off: Disable autopickup.
Features
- Cycle modes using Valheim's autopickup toggle flow, with support for keyboard and controller.
- Configure the default mode, smart pickup radius, and whether normal mode should use the custom pull range.
- Efficient shared custom pickup logic for smart mode and optional normal-mode range override.
Installation
- Install denikson-BepInExPack_Valheim-5.4.2333 or later.
- Extract the package into your Valheim game folder, or install it with r2modman / Thunderstore Mod Manager.
- Launch Valheim.
Usage
Press the Auto-Pickup toggle to cycle through modes. The current mode is displayed on-screen.
Configuration
Edit BepInEx/config/com.yourname.valheim.smartautopickup.cfg to set:
- Default Mode: The mode Smartpickup starts in.
- Pickup Range: The detection and pull range for smart mode.
- Apply Custom Range In Normal Mode: Whether normal mode should also use the configured pull range.
Dependencies
- BepInExPack_Valheim: denikson-BepInExPack_Valheim-5.4.2333 (or later)
Support
Discord: https://discord.gg/SNT6Y33Uh8
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.