Einherjer-IdleBeasts icon

IdleBeasts

Tame animals with nothing to do rest instead of wandering, and tame animals far from every player get fewer updates. In our tests: half the time spent on creatures, about 7 FPS more.

Last updated 5 hours ago
Total downloads 37
Total rating 0 
Categories
Dependency string Einherjer-IdleBeasts-1.0.2
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 icon
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.2351
ValheimModding-Jotunn-2.30.2 icon
ValheimModding-Jotunn

Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Preferred version: 2.30.2

README

IdleBeasts

A base full of tame animals costs the game less: animals with nothing to do rest instead of wandering, and tame animals far from every player get fewer updates.

Every loaded animal normally thinks and moves 20 to 50 times a second, even when it's just standing in a pen. With dozens of animals that adds up and lowers your frame rate. IdleBeasts lets them rest while nobody is near and wakes them the moment anything happens.

Tested: at our base, with about 170 creatures loaded, the game spent about half as much time on creatures (4.7 ms a frame down to 2.2 ms, on average over three tests) and ran about 7 FPS faster (40 FPS up to 47 FPS on average).

Test results

Three runs of idlebeasts test (13 seconds with the mod off, then 25 with it on) at our base in Valheim 1.0.17, with 165 to 172 creatures loaded:

Test Creatures loaded (this PC runs) Creature updates, mod off Mod on Frame rate, mod off Mod on
1 171 (113) 6.7 ms 3.1 ms 26 FPS 33 FPS
2 172 (113) 5.2 ms 2.1 ms 32 FPS 41 FPS
3 165 (60) 2.3 ms 1.6 ms 61 FPS 67 FPS
Average 4.7 ms 2.2 ms (-53%) 40 FPS 47 FPS (+18%)

"Creature updates" is the time per frame the game spends thinking, moving and animating creatures. The more of the animals your own PC runs, the bigger the gain: in test 3 it ran only 60 of them. Your numbers depend on your base and your PC; idlebeasts test measures them for you.

What it does

  • Resting animals: a tame animal that has had nothing to do for 5 seconds, with every player more than 20 m away and no enemy within 30 m, stops wandering and rests. It stands still, and its thinking and body update about once a second instead of 20 to 50 times.
  • They wake at once when a player comes within 20 m, an enemy shows up, they're hurt, ridden or told to follow, or they go for food. Eating and breeding work as usual.
  • Far creatures: tame creatures more than 50 m from every player, and not fighting, hunting or following anyone, think and move with fewer updates. Nobody is close enough to see the difference.
  • Wild creatures are left alone by default. Turn off Tamed only to slow far wild creatures too.
  • Bosses are never touched, and every creature has its own setting (Default, Never, RestOnly or FarOnly).

Check that it works

Press F5 for the console and type idlebeasts test near your animals (Tab completes the command's options). It runs 13 seconds with the mod off and 25 seconds with it on, then prints the time the game spent on creature updates and your frame rate for both. The result also goes into BepInEx/LogOutput.log and a report file.

Turn on Show stats to see the numbers live in the bottom right corner: how many creatures rest or are slowed, and the time spent on creature updates per frame.

Console What it does
idlebeasts The current numbers and the last test
idlebeasts test Measures with the mod off and on
idlebeasts report Writes BepInEx/config/anwo.IdleBeasts.report.txt with every loaded creature
idlebeasts on / off Turns the mod on or off while you play
idlebeasts wake Wakes every resting animal

Settings (anwo.IdleBeasts.cfg)

Setting Default What it does
1 - General
Enabled true Turns the mod on or off (idlebeasts on/off does it while you play)
Tamed only true Only tame animals are touched; off also slows far wild creatures
2 - Resting animals
Rest when idle true Idle tame animals rest
Wake distance 20 Animals rest only while every player is further away than this (m); coming this close wakes them
Enemy distance 30 An enemy this close (m) wakes resting animals
Idle seconds 5 How long an animal must have nothing to do before it settles
Only in pens false Only animals inside a PenPosts pen rest
Resting turn every 1 Seconds between a resting animal's checks for food and danger
3 - Far creatures
Slow far creatures true Creatures far from every player get fewer updates
Far distance 50 Metres from the nearest player
Far AI every 0.25 Seconds between a far creature's thinking (normal: 0.05)
Far physics every Nth step 2 A far creature's body moves on every Nth physics step
Far details every Nth frame 2 Footsteps, feet, tails and smoothing of far creatures every Nth frame
4 - Look (each player)
Resting animation Frozen Frozen (cheapest), Slow (a few updates a second) or Normal
Slow animation rate 5 Animation updates a second when Resting animation is Slow
5 - Creatures Default One setting for every creature in the game: Default, Never, RestOnly or FarOnly. Bosses are Never
6 - Diagnostics (each player)
Show stats false The live numbers in the bottom right corner

Multiplayer

The settings (except the look and stats) are set by the server admin and synced to everyone. Each player's game only slows the animals it runs itself. A player without the mod can still join; players with it need the same version.

Compatibility

Works with LetMeTameYou, PenPosts (Only in pens) and PackBeasts. Don't use it together with Valheim Performance Overhaul, which changes the same creature updates; IdleBeasts warns in the log if both are installed.

About this mod

Written with Claude (Anthropic's AI model) for a two-player server, and tagged AI Generated on Thunderstore. Built for Valheim 1.0.17 (Deep North), BepInEx 5.4.2351 and Jotunn.

Found a bug or a clash with another mod? Report it on the mod's Thunderstore page and include your BepInEx/LogOutput.log.