← modperf · analyzed mods

DayZ Horse

Description This mod adds rideable horses to the game. Horses can be found in fields like in the real world. The horse can walk, trot, gallop, jump over fences and swim. They can also walk backwards. Horses can be killed and skinned. There are lots of color variants. How It Works For riding the horse, you need a Saddle and a Bridle. Put the saddle into your hands and then attach it to the horse to set ownership.… (more)

Description This mod adds rideable horses to the game. Horses can be found in fields like in the real world. The horse can walk, trot, gallop, jump over fences and swim. They can also walk backwards. Horses can be killed and skinned. There are lots of color variants. How It Works For riding the horse, you need a Saddle and a Bridle. Put the saddle into your hands and then attach it to the horse to set ownership. Control movement by using WSAD, mouse wheel and Space for jump. You can also build a stable for your horses. Craft the stable base building kit and then build the stable. Horses have their own stamina, so their speed is limited by time. When you hit obstacles, you will be dismounted from the horse. You can call your owned horse by using an apple. You can also use an apple as bait for a horse when you do not have a saddle, but want take a horse to your base. This mod is far from complete, but basic features are already working. Lots of players have been waiting a long time for this mod, so this is my summer gift to the community. Development will continue. Territory files for various maps are included together with a manual of how to set up the mod. Known Issues - incompatible mod: Expansion Animations - not all animations are imported yet (kicking and so on) - sometimes horse dont want go to water ( https://feedback.bistudio.com/T181744 ) - the mod is very complex and of course there may be a lot of issues Story This mod was started more than two years ago. I started with a reskinned cow made by Sajid. Then, when KAMO and Nazzgy figured out survivor animations, KAMO did the first rider animations. Later, I found great model of a horse with animations, so I started making a custom animgraph and step by step added more features. It was a very long journey and it is still not at the end. This mod still holds a lot of potential and a lot of ideas and features can be added. Of course, a lot of issues and bugs should be fixed, but I just publish this mod right now as is, because something is better than nothing. I hope you enjoy it. Any feedback or constructive criticism helps me improve and continue on development of this mod. Further Info No repacks allowed. Don't ask. Repacking is cancer of DayZ community. You are allowed to look into the mod for learning purposes, or if you want to know how it works. Discord: https://discord.gg/49FvN7rRpF Any feedback welcome! -Hunterz- Credits Kamo - did all the animations of the horse rider MarioE - general animation lessons Mrtea101 - lot of hints in Blender and anims Van - provided horse sounds and explanations Rag Tyson - helped me with models, rvmats and especially with the saddle Lugge - imported and prepared stable model and scripts Nazzgy - help with rvmats and edible base Fenwichs - testing, territory files Windstride - horse retextures Dave - IK animations for items Malbers Animations - horse model with anims ta.holovan - stable model (Sketchfab) nimikko - modular stable assets (cgtrader) srikanthsamba - horse obstacles (cgtrader) novoGOD - importing and preparing assets dustypeek - saddlebags model Survivalist - help with models Tawny - another saddle model import Admiral - bugfixes & testing

Workshop 3295021220 · mod updated 2026-10-15 · analyzed 2026-10-15 18:31 UTC · history · 63 script files

AnimationCharacterEquipmentMechanicsPropsSoundTag Review Workshop tags, chosen by the author

Stall risks
1 pattern

Patterns that can stall a single frame regardless of the load figure — see below.

Compatibility
Chain-safe

Every server-visible override preserves its chain.

Structural footprint 1.1
A
clean
Heavier than 65% of 328 scripted mods analyzed.

0.0103% of each server frame at 100 players (0.103 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.

Where this mod sits

Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 40 others share it. Ranked list.

20
40
60
  • 24 mods
    0.0000022 to 0.0000046 ms/s · grade A
  • 7 mods
    0.0000046 to 0.00001 ms/s · grade A
  • 1 mod
    0.00001 to 0.000022 ms/s · grade A
  • 1 mod
    0.000022 to 0.000046 ms/s · grade A
  • 37 mods
    0.0001 to 0.00022 ms/s · grade A
  • 26 mods
    0.00022 to 0.00046 ms/s · grade A
  • 33 mods
    0.00046 to 0.001 ms/s · grade A
  • 22 mods
    0.001 to 0.0022 ms/s · grade A
  • 13 mods
    0.0022 to 0.0046 ms/s · grade A
  • 10 mods
    0.0046 to 0.01 ms/s · grade A
  • 5 mods
    0.01 to 0.022 ms/s · grade A
  • 18 mods
    0.022 to 0.046 ms/s · grade A
  • 17 mods
    0.046 to 0.1 ms/s · grade A
  • This mod
  • 26 mods
    0.22 to 0.46 ms/s · grade A
  • 28 mods
    0.46 to 1 ms/s · grade A
  • 8 mods
    1 to 2.2 ms/s · grade A to B
  • 10 mods
    2.2 to 4.6 ms/s · grade B
  • 1 mod
    4.6 to 10 ms/s · grade B to C
A316
B11
C1
D0
E0
ms/s, log scale: each labelled step is ten times the one before. Letter grade and mods holding it below the axis.
Where the load comes from

Per-player hooks carry 72% of this mod's structural load. 0.103 ms/s in all.

24%Every-frame hooks · 24%
1 hook · 0.025 ms/s
72%Per-player hooks · 72%
1 hook · 0.074 ms/s
Event hooks · 4.1%
6 hooks · 0.0042 ms/s
Lifecycle hooks · <0.1%
2 hooks · 0.000004 ms/s
Every-frame hooksrun every server frame 1 hook 0.025 ms/s 24% DayZPlayerCameraIronsights.OnUpdate
Per-player hooksrun about 30 times a second for each player 1 hook 0.074 ms/s 72% PlayerBase.CommandHandler
Event hooksrun when something happens: an inventory move, a hit, an action 6 hooks 0.0042 ms/s 4.1% ItemBase.EEItemLocationChanged, BandageDressing.SetActions, PlayerBase.CanDropEntity and 3 more
Lifecycle hooksrun when an entity is created, loaded or deleted 2 hooks 0.000004 ms/s <0.1% MissionServer.OnMissionFinish, MissionServer.PlayerDisconnected

Counts how often each hook is dispatched and how many timers stay alive, not what the code inside does. Some rates are order-of-magnitude estimates; the methodology lists which.

Where this mod runs often

Hooks on per-frame and high-rate surfaces, with what their bodies call. Body work, not the hook itself, is what costs frame time.

CommandHandler on PlayerBase
about 30× per player per second
no I/O, timers or RPC
OnUpdate on DayZPlayerCameraIronsights
every server frame
no I/O, timers or RPC
EEItemLocationChanged on ItemBase
every inventory move
no I/O, timers or RPC
SetActions × 3 classes
per event
no I/O, timers or RPC
CanDropEntity on PlayerBase
per event
no I/O, timers or RPC super() on some paths
CanReceiveItemIntoHands on PlayerBase
per event
no I/O, timers or RPC super() on some paths

Other findings

What this report can tell you

Which vanilla methods the mod hooks, which of them drop the chain, how often each hook fires, and which risky calls sit inside hot hooks.

What it cannot

How long hook bodies take, network cost, or engine-side load. Measured across live fleets, most server lag comes from the engine and world state, not mod script chains — a light footprint does not clear a mod of lag, and a heavy one does not convict it. Methodology.

Everything else

All 54 overrides

Surface is the dispatch tier the rubric can price (— = unpriced); server is whether the override exists on a dedicated server; super() shows whether the vanilla chain is preserved on a server.

methodsurfaceserversuper()where
ActionConstructor.RegisterActions — yes ✓ dayz_horse.pbo::Scripts\4_World\Actions\ActionConstructor.c:3
ActionManagerBase.ActionPossibilityCheck — yes conditional dayz_horse.pbo::Scripts\4_World\ActionManagerBase.c:4
AnimalBase.CanBeTargetedByAI — yes conditional dayz_horse.pbo::Scripts\4_World\AnimalBase.c:3
AttachmentCategoriesRow.RefreshSlot — yes ✓ dayz_horse.pbo::Scripts\5_Mission\PlayerContainer.c:94
AttachmentCategoriesRow.DoubleClick — yes conditional dayz_horse.pbo::Scripts\5_Mission\PlayerContainer.c:219
BandageDressing.SetActions T2 yes ✓ dayz_horse.pbo::Scripts\4_World\Bandages.c:3
DayZAnimalCommandAttackModdable.PreAnimUpdate — yes conditional dayz_horse.pbo::Scripts\4_World\DayZAnimalCommandMoveModdable.c:59
DayZAnimalCommandLookAtModdable.PreAnimUpdate — yes ✓ dayz_horse.pbo::Scripts\4_World\DayZAnimalCommandMoveModdable.c:41
DayZAnimalCommandMoveModdable.PreAnimUpdate — yes ✓ dayz_horse.pbo::Scripts\4_World\DayZAnimalCommandMoveModdable.c:5
DayZPlayerCamera1stPerson.OnUpdate T0 yes ✓ dayz_horse.pbo::Scripts\4_World\DayzPlayerCamera3rdPerson.c:31
DayZPlayerCamera3rdPerson.OnUpdate T0 yes ✓ dayz_horse.pbo::Scripts\4_World\DayzPlayerCamera3rdPerson.c:92
DayZPlayerCameraIronsights.OnUpdate T0 yes ✓ dayz_horse.pbo::Scripts\4_World\DayzPlayerCamera3rdPerson.c:74
DayZPlayerImplement.ProcessJumpOrClimb — yes ✓ dayz_horse.pbo::Scripts\4_World\DayZPlayerImplement.c:440
DayZPlayerImplement.CanJump — yes conditional dayz_horse.pbo::Scripts\4_World\DayZPlayerImplement.c:446
DayZPlayerImplement.HeadingModel — yes conditional dayz_horse.pbo::Scripts\4_World\DayZPlayerImplement.c:461
DayZPlayerImplement.AimingModel — yes ✓ dayz_horse.pbo::Scripts\4_World\DayZPlayerImplement.c:494
DayZPlayerImplement.ModCommandHandlerAfter — yes ✓ dayz_horse.pbo::Scripts\4_World\DayZPlayerImplement.c:573
EmoteManager.CanPlayEmote — yes conditional dayz_horse.pbo::Scripts\4_World\EmoteManager.c:4
HandSelectAnimationOfForceSwapInHandsEvent.GuardCondition — yes conditional dayz_horse.pbo::Scripts\3_Game\HorseHandAnimationGuards.c:40
HandSelectAnimationOfMoveFromHandsEvent.GuardCondition — yes conditional dayz_horse.pbo::Scripts\3_Game\HorseHandAnimationGuards.c:29
HandSelectAnimationOfSwapInHandsEvent.GuardCondition — yes conditional dayz_horse.pbo::Scripts\3_Game\HorseHandAnimationGuards.c:51
HandSelectAnimationOfTakeToHandsEvent.GuardCondition — yes conditional dayz_horse.pbo::Scripts\3_Game\HorseHandAnimationGuards.c:18
Hologram.ProjectionBasedOnParent — yes conditional dayz_horse.pbo::Scripts\4_World\DayZHorseStable\Hologram.c:3
Hologram.EvaluateCollision — yes conditional dayz_horse.pbo::Scripts\4_World\DayZHorseStable\Hologram.c:13
IngameHud.Init — yes ✓ dayz_horse.pbo::Scripts\5_Mission\ingamehud.c:8
IngameHud.DisplayStance — yes conditional dayz_horse.pbo::Scripts\5_Mission\ingamehud.c:20
IngameHud.SetHorseStamina — yes ✗ none dayz_horse.pbo::Scripts\5_Mission\ingamehud.c:44
IngameHud.SetHorseSpeedNumber — yes ✗ none dayz_horse.pbo::Scripts\5_Mission\ingamehud.c:68
ItemBase.EEItemLocationChanged T2 yes ✓ dayz_horse.pbo::Scripts\4_World\ItemBase.c:4
MissionGameplay.OnUpdate T0 yes ✓ dayz_horse.pbo::Scripts\5_Mission\MissionGamePlay.c:28
MissionServer.OnMissionFinish T3 yes ✓ dayz_horse.pbo::Scripts\5_Mission\MissionServer.c:15
MissionServer.PlayerDisconnected T3 yes ✓ dayz_horse.pbo::Scripts\5_Mission\MissionServer.c:21
ModItemRegisterCallbacks.RegisterHeavy — yes ✓ dayz_horse.pbo::Scripts\4_World\ModItemRegisterCallbacks.c:9
ModItemRegisterCallbacks.RegisterCustom — yes ✓ dayz_horse.pbo::Scripts\4_World\ModItemRegisterCallbacks.c:16
ModItemRegisterCallbacks.RegisterTwoHanded — yes ✓ dayz_horse.pbo::Scripts\4_World\ModItemRegisterCallbacks.c:31
PlayerBase.CanReceiveItemIntoHands T2 yes conditional dayz_horse.pbo::Scripts\4_World\PlayerBase.c:31
PlayerBase.CommandHandler T1 yes ✓ dayz_horse.pbo::Scripts\4_World\PlayerBase.c:49
PlayerBase.OnCommandDeathStart — yes ✓ dayz_horse.pbo::Scripts\4_World\PlayerBase.c:150
PlayerBase.OnUnconsciousStop — yes ✓ dayz_horse.pbo::Scripts\4_World\PlayerBase.c:176
PlayerBase.CanDropEntity T2 yes conditional dayz_horse.pbo::Scripts\4_World\PlayerBase.c:246
PlayerBase.CanJump — yes conditional dayz_horse.pbo::Scripts\4_World\PlayerBase.c:305
PlayerBase.CanClimb — yes conditional dayz_horse.pbo::Scripts\4_World\PlayerBase.c:314
PlayerBase.CanPickupHeavyItem — yes conditional dayz_horse.pbo::Scripts\4_World\PlayerBase.c:323
PlayerBase.CanBeTargetedByAI — yes conditional dayz_horse.pbo::Scripts\4_World\PlayerBase.c:485
PlayerBase.OnConnect — yes ✓ dayz_horse.pbo::Scripts\4_World\PlayerBase.c:498
PlayerBase.SetActions T2 yes ✓ dayz_horse.pbo::Scripts\4_World\PlayerBase.c:560
PlayerContainer.ItemAttached — yes conditional dayz_horse.pbo::Scripts\5_Mission\PlayerContainer.c:6
PlayerContainer.MouseClick — yes conditional dayz_horse.pbo::Scripts\5_Mission\PlayerContainer.c:36
PlayerContainer.DoubleClick — yes conditional dayz_horse.pbo::Scripts\5_Mission\PlayerContainer.c:55
PluginManager.Init — yes ✓ dayz_horse.pbo::Scripts\4_World\PluginManager.c:3
PluginRecipesManagerBase.RegisterRecipies — yes ✓ dayz_horse.pbo::Scripts\4_World\classes\PluginRecipeManagerBase.c:3
Rag.SetActions T2 yes ✓ dayz_horse.pbo::Scripts\4_World\Bandages.c:12
StanceIndicator.Update — yes conditional dayz_horse.pbo::Scripts\4_World\stanceindicator.c:4
ZombieBase.CanBeTargetedByAI — yes ✓ dayz_horse.pbo::Scripts\4_World\ZombieBase.c:3
Dispatch surfaces and timers the grade prices
surfacetierrate (Hz)rate sourcems/s
PlayerBase.CommandHandlerT1 3000.0measured0.0744
DayZPlayerCameraIronsights.OnUpdateT0 1000.0measured0.0248
ItemBase.EEItemLocationChangedT2 130.0measured0.0032
BandageDressing.SetActionsT2 8.0placeholder0.0002
Rag.SetActionsT2 8.0placeholder0.0002
PlayerBase.CanReceiveItemIntoHandsT2 8.0placeholder0.0002
PlayerBase.CanDropEntityT2 8.0placeholder0.0002
PlayerBase.SetActionsT2 8.0placeholder0.0002
MissionServer.OnMissionFinishT3 0.1placeholder0.0000
MissionServer.PlayerDisconnectedT3 0.1placeholder0.0000

Includes 0.001 ms/s from placeholder-rated surfaces.

Load-order constraints (CfgPatches)

What each PBO declares: its addon identity and the addons it requires to be loaded first (requiredAddons). A partial load-order signal from the mod's own metadata.

dayz_horse.pbo

  • HorseDZ_AI requiredVersion 0.1 — requires DZ_Data, DZ_data_aiconfigs, DZ_AI
  • Dayz_Horse requiredVersion 0.1 — requires DZ_Data, DZ_Scripts, DZ_Sounds_Effects, DZ_Animals, DZ_Characters, DZ_Gear_Camping, DZ_Gear_Crafting, DZ_Gear_Tools, JM_CF_Scripts

census 1.1 · findings 1.1 · hash ee38fcf00909abdb