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.
SwiftPickup
Optimized auto-pickup for Valheim: smooth per-frame magnet, ground drops merged into stacks, loot multiplier on pickup - zero lag.
By SoulEmper0r
| Date uploaded | 3 weeks ago |
| Version | 1.3.3 |
| Download link | SoulEmper0r-SwiftPickup-1.3.3.zip |
| Downloads | 1195 |
| Dependency string | SoulEmper0r-SwiftPickup-1.3.3 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2202README
SwiftPickup
Optimized item pickup for Valheim. Replaces the vanilla Player.AutoPickup loop, which calls ItemDrop.Load() for every item in range on every frame — the main source of lag when many drops are on the ground.
English below / Описание на русском ниже.
English
Features
- Fast auto-pickup —
ItemDrop.Load()runs once per actually picked item, pickups are spread across frames (budget per scan). No stutters with hundreds of drops. - Smooth magnet — items glide to you frame-by-frame (like vanilla), and are picked up instantly on arrival. Magnet works only within the pickup radius, far items stay on the ground.
- Drop stacking — identical items lying nearby are merged into a single stack object (as if the player dropped it). Massively reduces the number of physical objects on the ground.
- Loot multiplier — multiplies item amounts at pickup time (both auto- and hand-pickup). The ground holds a vanilla number of objects, so there is no spawn-freeze like in object-multiplier mods.
- Independent toggles — pickup (hotkey), multiplier and stacking are configured separately.
- Per-item ignore list, optional pickup effects/messages off for extra performance.
Config (BepInEx: BepInEx/config/user.swiftpickup.cfg)
| Section | Key | Default | Description |
|---|---|---|---|
| General | Enabled | true | Auto-pickup master switch |
| General | PickupRange | 3.5 | Pickup/magnet radius (m) |
| General | ScanIntervalSeconds | 0.15 | Scan interval (higher = cheaper) |
| General | MaxPickupsPerScan | 2 | Pickups per scan, spreads the load |
| General | MagnetSpeed | 15 | Magnet pull speed |
| General | ToggleKey | F8 | Hotkey toggles pickup only |
| General | IgnoreItems | — | Comma-separated prefabs to ignore |
| Loot | LootMultiplier | 5 | Item amount multiplier at pickup. 1 = off |
| Merge | MergeNearbyDrops | true | Merge identical ground items into one stack |
| Merge | MergeRadius | 3 | "Lying nearby" radius (m) |
| Merge | MergeMinCount | 2 | Minimum identical items to trigger a merge |
| Merge | MaxMergesPerScan | 2 | Merges per scan |
| Performance | SkipPickupEffects | true | Skip pickup particle effects |
| Performance | ShowPickupMessages | true | "+Wood xN" HUD messages |
Install
Install with r2modman/Thunderstore Mod Manager, or manually: put SwiftPickup.dll into BepInEx/plugins/. Requires BepInEx 5.
Русский
Возможности
- Быстрый автоподбор —
ItemDrop.Load()вызывается один раз на фактически подобранный предмет, подбор распределён по кадрам. Никаких фризов даже при куче лута на земле. - Плавный магнит — предметы съезжаются к вам кадр за кадром (как в ванили) и подбираются мгновенно при подлёте. Магнит работает только в радиусе подбора.
- Кучки — одинаковые предметы, лежащие рядом, склеиваются в один объект-стак (как будто выкинул игрок). Радикально снижает число физических объектов на земле.
- Множитель лута — умножает количество предметов в момент подбора (автоподбор и вручную по E). На земле лежит ванильное число объектов — нет фриза спавна, как у модов, множащих физические объекты.
- Независимые переключатели — подбор (горячая клавиша), множитель и кучки настраиваются отдельно.
- Список игнорируемых предметов, отключаемые эффекты/сообщения подбора.
Установка
Через r2modman / Thunderstore Mod Manager, либо вручную: SwiftPickup.dll в BepInEx/plugins/. Требуется BepInEx 5.
CHANGELOG
Changelog
1.3.3
- Multiplayer crash/lag fix:
ZNetScene.RemoveObjectsNullReferenceException loop (ghost instances with null ZDO left inm_instancesby a net race) is now auto-cleared and suppressed — object create/destroy cycle keeps running, so friends no longer get the escalating lag when drops are picked up. - Anti-dupe safety: pickup and merge now re-check ZDO ownership at the moment of action (like vanilla
PickupUpdate), not just at scan time. - Items are only removed from the network while the client still owns their ZDO — no more revival races.
1.3.2
- Cleaned up config descriptions.
1.3.1
- Vanilla in-game auto-pickup toggle no longer affects the mod (SwiftPickup fully replaces vanilla AutoPickup; control is via config + hotkey).
- Magnet reworked: smooth per-frame movement within the pickup radius only; instant pickup on arrival, max 1 pickup per frame. No more item teleporting from MergeRadius and related hitching.
1.3.0
- Decoupled features: pickup hotkey no longer disables the loot multiplier or drop stacking.
- Loot multiplier now applies to hand pickup (E) as well.
- Drop stacking: decoupled from pickup, runs before pickup, relaxed merge rules (partially stacks now combine).
1.2.0
- Loot multiplier (replaces object-multiplier mods): amounts are multiplied at pickup time, ground keeps vanilla object count.
- Fixed deploy script path.
1.1.x
- Drop stacking (nearby identical items merged into one stack).
- Magnet fix: pull step is clamped so the pickup threshold is always reached.
1.0.0
- Initial release: optimized auto-pickup replacing vanilla Player.AutoPickup.