You are viewing a potentially older version of this package. View all versions.
SoulEmper0r-SwiftPickup-1.3.3 icon

SwiftPickup

Optimized auto-pickup for Valheim: smooth per-frame magnet, ground drops merged into stacks, loot multiplier on pickup - zero lag.

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-5.4.2202 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2202

README

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.RemoveObjects NullReferenceException loop (ghost instances with null ZDO left in m_instances by 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.