SwiftPickup
Optimized auto-pickup for Valheim: smooth per-frame magnet, ground drops merged into stacks, loot multiplier on pickup - zero lag.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.


