Shadowstalker Data Reference
The Shadowstalker is a prototype railgun in Unturned, identified in the game files as asset Shadowstalker, item ID 300, GUID 5c9b2fb5a600438daa34453a95576803. It carries rarity Legendary and occupies the Primary equipment slot. Its in-game description reads: Prototype railgun chambered in Rail ammunition.
This article is the complete data reference for every field the asset file exposes, drawn verbatim from the extracted game data. It covers ballistics, damage multipliers across all three target categories, recoil and handling, the full set of fourteen flags, and every loot table entry with exact spawn chances. It is written for modders who need precise field values, flag explanations, and loot-table analysis -- not for players seeking gameplay advice.
Why this reference exists
The Shadowstalker is not a conventional firearm. It is one of a very small number of weapons in Unturned that uses the Rail action type, a ballistic system distinct from hitscan (Trigger), physics-driven (Rocket), and string-based projectile actions. Its damage profile is structured as a high-base, high-multiplier-spread weapon across all three target categories (player, zombie, animal), and its handling characteristics include an asymmetric horizontal recoil range -- the crosshair kicks exclusively leftward, never right -- and a Spread_Aim of 0.001, which is effectively pinpoint. The Invulnerable flag exempts the weapon from the durability system entirely, making it a permanent item once obtained. And its loot-table presence spans two distinct access paths: guaranteed arena-mode tables at 100.000% and a set of survival-mode tables with chances ranging from 0.493% to 19.231%.
These characteristics make the Shadowstalker worth studying as a reference case for modders building or modifying high-tier weapons. Understanding how the Rail action interacts with calibers, magazines, and projectiles teaches the ballistic pipeline. Understanding why the zombie limb multipliers sit at 0.3 while the player limb multipliers sit at 0.6 teaches damage-model design. Understanding how a weapon can be simultaneously an arena guarantee and a survival rarity teaches loot-table weight distribution. This reference captures all of that in a single document, with every number taken directly from the extracted asset data.
The asset was chosen for a detailed reference because it exercises more of the gun-asset surface than most weapons. It has asymmetric recoil (most weapons have symmetric horizontal ranges). It uses the Rail action (most weapons use Trigger). It carries Invulnerable (most weapons do not). It has an extensive flags list with blueprint-system integration. And its loot-table presence spans both guaranteed and heavily-diluted tables, providing a complete spectrum for loot-distribution analysis. A modder who understands every field in this asset understands most of what the gun-asset system can express.
Asset identity
Every item in Unturned is identified by three values that appear together in the asset .dat file: the asset name, the item ID, and the GUID. These values are written into the asset by the mod author and read by the game engine at load time. All three are required for the item to be correctly recognised and addressable by commands, save files, and other assets that reference it.
| Attribute | Value |
|---|---|
| Asset name | Shadowstalker |
| Item ID | 300 |
| GUID | 5c9b2fb5a600438daa34453a95576803 |
| Rarity | Legendary |
| Slot | Primary |
The asset name (Shadowstalker) is the internal identifier the engine uses to load the asset file from the Bundles directory. This is distinct from a category name like "Rifle" or "Pistol" -- it is a proper name, meaning the asset is a specific named item rather than a template. Proper-name assets appear with that exact name in the inventory UI and in spawn commands (/give Shadowstalker). The name is not localised through the translation system; it is the literal string in the asset file.
The item ID (300) is a numeric key. It is the integer form of the item reference, used by the /give command in its numeric variant (/give 300), by save files when storing inventory state, and by any system that identifies items by ID rather than by GUID. Item IDs in Unturned must be unique per asset type. The value 300 is in the low-mid range of the ID space, which is typical for base-game weapons.
The GUID (5c9b2fb5a600438daa34453a95576803) is a 32-character hexadecimal string that uniquely identifies the asset across the entire game. It is the primary key for cross-referencing assets in modding tools, crafting blueprints, and editor redirector chains. When an asset points to another asset by GUID, the engine resolves the GUID to the asset name at load time. GUID collisions between mods produce load errors; every mod author must generate a unique GUID for each asset.
The rarity field (Legendary) controls the inventory UI colour of the item name. Legendary items display in gold. The rarity value also feeds into some loot-table weighting systems, though the extent of this influence varies by map and spawn-table configuration. The rarity is a purely cosmetic and loot-tier designation; it does not directly affect weapon damage, handling, or any mechanical property.
The slot field (Primary) determines which equipment slot the weapon occupies. Primary-slot items compete with rifles, shotguns, sniper rifles, and other large weapons. A player can carry only one Primary weapon at a time (without server plugins that modify the slot system). The Primary slot assignment means the Shadowstalker takes the same equipment slot as an assault rifle or a sniper rifle, not the Secondary slot (pistols, SMGs) or the Tertiary slot (melee weapons, tools).
When the game processes the asset at load time, it reads the three identity values (name, ID, GUID) and validates them against the existing asset registry. If an ID or GUID collision is detected, the game logs an error and the later-loading asset is rejected. If the name matches an existing asset in the same bundle, the later asset silently overwrites the earlier one -- this is why mod load order matters on servers with multiple mods that may replace base-game assets.
The type chain for a gun asset is Type Gun and Useable Gun. These two fields, which appear in the asset's .dat file alongside the identity fields, tell the engine to instantiate the ItemGunAsset class rather than a generic ItemAsset. Without both Type Gun and Useable Gun, the engine does not recognise the asset as a weapon and the item will not function when equipped.
The Rail action
The Action field on a gun asset is an enumeration that selects the projectile system, firing mechanic, and reload behaviour. The Shadowstalker's Action is set to Rail. This is one of the less common action types in the game. It is not Trigger (hitscan), not Rocket (physics projectile with gravity and area-of-effect), not String (bow or crossbow with charge-draw), not Pump, Break, or Bolt (manual-cycle actions). It is Rail -- a dedicated action type for electromagnetic-acceleration weapons.
When the engine processes a Rail action, it spawns a projectile that travels along a straight trajectory at very high velocity. The projectile is not affected by gravity. It does not arc. It does not drop over distance. This distinguishes it from Rocket projectiles, which follow a ballistic arc subject to the game's gravity multiplier, and from Trigger hitscan, which has no travel time at all.
The Rail projectile is visible in flight. The engine renders a tracer effect along the projectile's path, and the projectile itself may have a model or particle system associated with it. The exact visual is determined by the projectile asset linked through the caliber system (caliber 14 in this case) and the muzzle transform index (42). Because the projectile travels at high speed, the tracer appears as a near-instantaneous line -- but it is technically a travelling object, not a hitscan, and it can be intercepted or blocked by objects in its path. This means the Rail projectile can penetrate or be stopped by barriers depending on the projectile asset's collision settings.
The choice of Rail as the action also determines which subset of the gun asset's fields the engine reads. Fields related to recoil, spread, and shake apply to all action types. But the ballistics subsection fields (Ballistic_Travel, Ballistic_Steps, Ballistic_Drop, Bullet_Gravity_Multiplier, and the physics-projectile fields like Ballistic_Force and Projectile_Lifespan) are action-dependent. A Rail weapon will read the fields relevant to its projectile system and ignore fields intended for Rocket or String actions. If a modder changes the Action from Rail to another type, they must ensure all the fields the new action type expects are present and correctly configured in the asset file, or the weapon will fail to function.
The Rail action also interacts with the magazine and reload system. Because the Shadowstalker's magazine (item 301) holds only one round, the firing loop is: aim, fire one shot, the magazine empties, the reload cycle begins. There is no multi-shot burst or sustained fire. The Rail action with a single-round magazine is the cleanest expression of a railgun in the game's system -- one powerful, precise projectile per reload cycle.
At the engine level, the Rail action is processed differently from Trigger in one critical respect: Trigger is a hitscan, meaning the engine performs an instantaneous raycast from the muzzle to the target and applies damage immediately on the same frame the fire input is registered. Rail spawns a projectile object that exists in the world for a finite duration. The projectile travels along its trajectory each frame, checking for collisions as it moves. This means there is a real, if very short, travel time between the fire event and the damage event. In practical terms, the travel time is so short at the projectile speeds Rail uses that it is indistinguishable from hitscan for the player, but the distinction matters for modders: the projectile object can be intercepted by collision geometry or entities between the muzzle and the intended target, which is not possible with a true hitscan.
The Rail action also reads magazine and ammo fields differently from some other actions. In a Trigger weapon, the engine decrements the current magazine counter by one per shot. In a Rail weapon, the same decrement occurs, but because the magazine holds only one round (as defined by magazine item 301), the weapon reaches zero ammunition after a single shot and immediately enters the reload state. The reload state's duration and animation are determined by the magazine item, not the gun asset itself. This means a modder who changes the Shadowstalker's magazine to a different item (with a different capacity or reload animation) changes both the shots-per-reload and the reload feel from a single edit to the Magazine field.
Ballistics
The ballistics block is the set of fields that control how the weapon fires: what projectile it launches, how far that projectile travels, how fast the weapon cycles between shots, and what magazine and ammunition it uses. Every field in this block is read by the engine when the weapon is fired. Modifying any of them changes the weapon's firing behaviour.
| Field | Value |
|---|---|
| Range | 300 |
| Firerate | 50 |
| Action | Rail |
| Caliber | 14 |
| Muzzle | 42 |
| Magazine | 301 |
| Ammo_Min | 1 |
| Ammo_Max | 1 |
Range
Range is set to 300. This is the maximum distance the projectile travels before the engine despawns it. The value is in world units, which in Unturned roughly correspond to metres in the game world (the exact scale depends on the map but the default conversion is 1 unit equals approximately 1 metre). A Range of 300 means the projectile will travel 300 world units from the muzzle before being removed. If the projectile has not collided with anything by that distance, it disappears.
The value 300 is in the long-range tier for Unturned weapons. Many assault rifles have Range values between 150 and 200. Sniper rifles range from 250 to 400. The HMG has a Range of 500. The Shadowstalker's 300 places it above most automatic weapons but below dedicated long-range sniper platforms. However, because the Rail projectile has no bullet drop (no gravity arc), the effective range is the full 300 units against any target, with no need for the player to compensate for drop at distance.
When editing Range, consider that a higher value increases the projectile's lifetime and therefore its ability to hit distant targets, but also means the projectile survives longer before cleanup. There is no direct performance cost to a higher Range value in the current engine, but extremely high values (thousands) can cause visible-projectile clutter if the weapon is fired rapidly and the projectiles take a long time to expire. Note that Range only sets the maximum distance -- the projectile is still subject to collision. If it hits a wall, terrain, entity, or any collision-enabled surface before reaching 300 units, it terminates at that collision point.
The interaction between Range (300) and Spread_Aim (0.001) is important for understanding the weapon's effective accuracy. Even at maximum range, the angular deviation introduced by the spread value is small enough that the projectile lands very close to the crosshair. A weapon with a larger Spread_Aim and a shorter Range might be less accurate at its maximum distance than the Shadowstalker is at 300 units. The combination of long Range and tight spread is what makes the Shadowstalker a precision weapon across its entire effective envelope.
Firerate
Firerate is set to 50. This is the internal tick count between shots. It is an engine-cycle value, not a rounds-per-minute figure, and it does not convert cleanly to wall-clock time. The engine processes weapon fire in discrete ticks; the Firerate field tells the engine how many ticks to wait between one shot and the next.
Lower values mean faster fire. A Firerate of 50 is moderate -- not as fast as automatic weapons with Firerate values in the single digits or teens, but not as slow as bolt-action rifles with values above 100. For the Shadowstalker, the Firerate interacts with the single-round magazine: because the weapon can only fire once before reloading, the Firerate governs the minimum delay between the shot and the start of the reload animation, not the delay between sequential shots in a burst. In practical terms, a Firerate of 50 means the weapon completes its firing state very quickly and transitions to the reload state with minimal delay.
Modders editing Firerate should compare against other weapons with the same Action type to gauge relative speed. The engine's tick rate can vary depending on server configuration, so the same Firerate value may produce slightly different perceived firing speeds on different servers. Do not target a specific real-world fire rate; adjust the value in small increments and test in-game.
For the Shadowstalker specifically, the Firerate of 50 interacts with the single-round magazine such that the practical effect is minimal. The weapon fires one shot, empties the magazine, and transitions to the reload state. The Firerate only governs the delay between the fire input being registered and the shot being fired, plus the minimum cooldown before the reload can begin. Changing Firerate from 50 to, say, 10 would make the shot fire slightly sooner after the trigger press, but the overall loop (fire, reload, ready) is dominated by the reload animation duration, which is controlled by the magazine asset, not by Firerate. Modders seeking to change the weapon's rate of fire should focus on the magazine asset's fields, not the gun asset's Firerate.
Action
Action is set to Rail. This field was covered in depth in the previous section. To summarise here: Rail selects the electromagnetic-accelerator projectile system, which fires a high-velocity, gravity-free projectile along a straight trajectory. It is distinct from Trigger (hitscan), Rocket (physics projectile with arc), and all manual-cycle actions (Pump, Break, Bolt). The Action field is the primary determinant of which downstream projectile and reload fields the engine reads.
Caliber
Caliber is set to 14. This is the ammunition-calibre identifier. Every ammunition item in the game carries its own Caliber value. A weapon can only reload from ammunition items whose Caliber field matches the weapon's Caliber field. The match is exact -- calibre 14 does not accept ammunition of calibre 13 or 15.
The value 14 is a base-game calibre assignment. It links the Shadowstalker to the railgun ammunition type. To determine exactly which ammo item corresponds, locate the ammo asset whose Caliber field is 14 and read its name and item ID. The calibre system also governs magazine acceptance: the magazine item (301) must have a compatible calibre configuration for the weapon to reload from it.
The calibre system in Unturned is a numeric ID linkage, not a ballistic simulation. Calibre 14 does not imply any specific bullet diameter, velocity, or energy -- it is simply a key that the game uses to match weapons to their ammunition. The actual ballistic behaviour (projectile speed, trajectory, penetration) is determined by the weapon's Action type and the projectile asset, not by the calibre number. A modder can assign entirely fictional calibre numbers; the only requirement is that the weapon's Caliber field matches its ammunition's Caliber field. The calibre values 1 through 14 are used by base-game calibres, and modders adding new ammunition types should use calibre IDs outside this range to avoid conflicts.
If a modder creates a new railgun-type weapon and assigns it a custom calibre, they must also create ammunition items of that calibre and ensure the magazine item references the same calibre. A calibre mismatch between the weapon and its magazine or ammunition produces a non-functional weapon.
Muzzle
Muzzle is set to 42. This is the transform index on the weapon model from which the projectile and muzzle flash spawn. The number refers to the index of a child transform (an empty GameObject or bone) in the weapon's Unity prefab hierarchy. Index 42 means the 43rd child transform (0-indexed) of the weapon model is the designated muzzle spawn point.
If the transform at index 42 does not exist on a custom model, or if the model has a different number of child transforms, the projectile will spawn at the world origin (0,0,0) or at the weapon's root transform, which is visually wrong -- the projectile will appear to fire from the player's feet or from the centre of the weapon model rather than the barrel. Modders importing custom models for the Shadowstalker must ensure the muzzle transform is at the correct index or adjust the Muzzle field to match the model's actual transform layout.
The Muzzle value of 42 indicates that the weapon's Unity prefab has at least 43 child transforms (indices 0 through 42). This is a relatively high index, suggesting a complex model hierarchy with many child GameObjects. Modders working with the Shadowstalker model in Unity can locate the muzzle transform by expanding the prefab's hierarchy and identifying the 43rd child (0-indexed, so the 43rd entry). The transform's name in the hierarchy may be descriptive (e.g., "Muzzle", "BarrelExit", "FirePoint") or it may be a generic numbered entry. Either way, the index in the hierarchy, not the transform's name, is what the engine reads.
Magazine
Magazine is set to 301. This is the item ID of the magazine or feeding device attached to the weapon. The value 301 references the railgun magazine asset. When the player reloads, the engine looks up item 301, reads its capacity field, and uses that to determine how many rounds the weapon can hold after a reload cycle.
The magazine item is a separate asset with its own .dat file. It carries fields including capacity (how many rounds it holds), calibre (which must match the weapon's Caliber field for the weapon to accept it), reload animation references, and potentially its own attachment slots. The magazine asset for the Shadowstalker (item 301) has a capacity of 1, meaning the weapon holds exactly one round per magazine. This is the field that defines the weapon's shots-per-reload, not any field on the gun asset itself. If you change the magazine by setting Magazine to a different item ID, the new magazine item must exist as a separate asset with its own .dat file and must have compatible calibre and capacity fields. A common modding pattern is to create a variant magazine with higher capacity (e.g., an "extended railgun magazine" with capacity 3 or 5) and swap the gun's Magazine field to point to the new item.
Ammo_Min and Ammo_Max
Ammo_Min is set to 1 and Ammo_Max is set to 1. These two fields define the random range for the number of rounds loaded when the weapon first spawns into the world. The engine picks a random integer between Ammo_Min and Ammo_Max inclusive. Because both values are 1, the random range collapses to a single value: the Shadowstalker always spawns with exactly one round loaded.
These fields only control the initial spawn state. They do not cap the weapon's maximum capacity -- the magazine item's capacity field is the authoritative source for how many rounds the weapon can hold after the player reloads. Ammo_Min and Ammo_Max are purely for seed-state configuration. A modder who wants the weapon to spawn with a random number of loaded rounds should set Ammo_Min lower and Ammo_Max higher, keeping both within the magazine's capacity. For example, if the magazine is changed to capacity 5, setting Ammo_Min to 1 and Ammo_Max to 5 would mean the weapon spawns with anywhere from 1 to 5 rounds loaded, randomly determined on spawn.
It is important that Ammo_Max does not exceed the magazine item's capacity. If Ammo_Max is set higher than the magazine can hold, the engine may clamp the value to the magazine capacity at spawn time, or it may log a warning. The safe practice is to keep Ammo_Max less than or equal to the magazine capacity. For the Shadowstalker, with both values at 1 and the magazine at capacity 1, the constraint is trivially satisfied.
Player damage
The player damage block defines base damage and how that damage scales across different body hitboxes when the target is another player. The Shadowstalker uses the full set of four limb multipliers, which means every hitbox region has an explicit multiplier rather than falling back to the base damage.
| Field | Value |
|---|---|
| Player_Damage | 99 |
| Player_Leg_Multiplier | 0.6 |
| Player_Arm_Multiplier | 0.6 |
| Player_Spine_Multiplier | 0.8 |
| Player_Skull_Multiplier | 1.1 |
Player_Damage
Player_Damage (99) is the base damage value applied before any multiplier. This is the raw damage number the game engine uses when a projectile hits a player hitbox that has no specific multiplier override, or when the multiplier system is bypassed. It is the starting point for every damage calculation against a player target.
The value 99 is high for a single-shot weapon. It exceeds most assault-rifle base damage values (which typically range from 30 to 55) and is in the range of dedicated sniper rifles. Because the Shadowstalker fires only one round per reload cycle, the base damage must be high for the weapon to be effective -- it does not rely on multiple hits in rapid succession to achieve its damage output.
Player_Leg_Multiplier
Player_Leg_Multiplier (0.6) multiplies the base damage when the projectile hits a player's leg hitbox. The product is 99 x 0.6 = 59.4 damage. This is a 40% reduction from base. Leg hits are the lowest-damage hit zone for players, which is the standard design pattern across Unturned weapons: leg hits deal less damage than torso hits, which deal less than headshots.
Player_Arm_Multiplier
Player_Arm_Multiplier (0.6) applies the same 0.6 multiplier to arm hits. The product is identical to the leg hit: 99 x 0.6 = 59.4 damage. In the Shadowstalker's data, arms and legs share the same multiplier and therefore the same effective damage. This is not universal across all Unturned weapons. Some weapons differentiate between arms and legs with different multiplier values. The Shadowstalker treats them identically.
Player_Spine_Multiplier
Player_Spine_Multiplier (0.8) applies to torso and spine hitbox collisions. The product is 99 x 0.8 = 79.2 damage. This is a 20% reduction from base -- less severe than the limb penalty but still below the full base value. The spine is the intermediate damage zone between limb hits and headshots.
Player_Skull_Multiplier
Player_Skull_Multiplier (1.1) is the only multiplier above 1.0 in the player damage table. The product is 99 x 1.1 = 108.9 damage. This is a 10% bonus over the base value. Headshots are rewarded with bonus damage, which is the standard design pattern -- precision is incentivised with higher effective damage.
Player damage per hit zone (computed)
| Hit zone | Multiplier | Damage (base 99) |
|---|---|---|
| Skull | 1.1 | 108.9 |
| Spine | 0.8 | 79.2 |
| Arm | 0.6 | 59.4 |
| Leg | 0.6 | 59.4 |
This table shows the product of the base damage and each multiplier. It is the damage the game delivers to a completely unarmoured player before any server-side modifiers or armour absorption are applied. The values follow a clear gradient: the skull takes 108.9 (the highest), the spine takes 79.2 (intermediate), and both limbs take 59.4 (the lowest). The spread between the highest and lowest hit zones is 108.9 - 59.4 = 49.5 damage points -- a significant difference that rewards shot placement.
Only four hit zones have explicit multipliers. If the game's hit detection maps a collision to a bone that is not classified as skull, spine, arm, or leg, the un-multiplied base damage of 99 applies. This can happen with unusual player models, custom character rigs, or modded skeletons that rename bones. Modders creating custom player models should ensure their bone names match the standard Unturned skeleton naming conventions, or the multiplier system will not recognise their hitboxes and will use base damage for all hits.
It is also worth noting that the multiplier system is a post-hit detection calculation. The hit detection itself is performed by Unity's physics engine using the weapon's projectile collision shape and the target's collider. Once a hit is registered, the game determines which bone the hit occurred on, looks up the corresponding multiplier for the target type (Player_, Zombie_, or Animal_), and multiplies the base damage by that value. The final damage value is then passed to the target's health component. Any subsequent damage reductions (armour absorption, server plugins, damage modifiers) are applied after the multiplier calculation.
Zombie damage
The zombie damage block follows the same multiplier structure as the player damage block but uses a higher base value and much lower limb multipliers. This creates a steeper damage curve: headshots are dramatically more effective than limb hits against zombies.
| Field | Value |
|---|---|
| Zombie_Damage | 125 |
| Zombie_Leg_Multiplier | 0.3 |
| Zombie_Arm_Multiplier | 0.3 |
| Zombie_Spine_Multiplier | 0.6 |
| Zombie_Skull_Multiplier | 1.1 |
Zombie_Damage
Zombie_Damage (125) is higher than the player base damage of 99. This is a deliberate design choice: the weapon deals 26 more base damage to zombies than to players. This pattern appears across many high-tier weapons in Unturned. The elevated zombie base ensures the weapon remains effective against NPC hordes -- which have different health structures than players -- without altering player-versus-player balance. The base damage values for players and zombies are independent fields, so a modder can tune PvP and PvE damage separately.
Zombie_Leg_Multiplier
Zombie_Leg_Multiplier (0.3) applies a 70% reduction to the base damage. The product is 125 x 0.3 = 37.5 damage. This is much lower than the player leg multiplier of 0.6. Against zombies, limb hits are heavily penalised. The design intent is to reward headshots against zombies even more strongly than against players -- a leg hit does only a third of the base damage.
Zombie_Arm_Multiplier
Zombie_Arm_Multiplier (0.3) mirrors the leg multiplier. The product is also 125 x 0.3 = 37.5 damage. Arms and legs are treated identically in the zombie damage table, just as they are in the player damage table.
Zombie_Spine_Multiplier
Zombie_Spine_Multiplier (0.6) applies a 40% reduction. The product is 125 x 0.6 = 75 damage. This is the same ratio as the player spine multiplier (0.6), but applied to a higher base. The spine is the intermediate zone for zombies, just as it is for players.
Zombie_Skull_Multiplier
Zombie_Skull_Multiplier (1.1) matches the player skull multiplier exactly. The product is 125 x 1.1 = 137.5 damage. Headshots receive the same 10% bonus multiplier for both target types. The base is higher for zombies (125 vs 99), so the bonus is larger in absolute terms (137.5 vs 108.9), but the proportional bonus is identical.
Zombie damage per hit zone (computed)
| Hit zone | Multiplier | Damage (base 125) |
|---|---|---|
| Skull | 1.1 | 137.5 |
| Spine | 0.6 | 75 |
| Arm | 0.3 | 37.5 |
| Leg | 0.3 | 37.5 |
The spread between the highest and lowest zombie hit zones is 137.5 - 37.5 = 100 damage points. This is an extreme spread -- more than double the player spread of 49.5. The steep curve means the weapon shifts from devastating (headshot) to weak (limb hit) in a single step. Against zombies, precision is not just rewarded; it is mandatory for the weapon to feel effective. A body shot deals 75 damage, which is roughly 55% of a headshot's 137.5. A limb shot deals 37.5, which is roughly 27% of a headshot.
Modders who want to flatten this curve should raise the limb and spine multipliers toward 1.0. Raising the zombie limb multipliers to 0.6 (matching the player values) would produce limb damage of 75 -- the same as the current spine damage -- and reduce the spread to 62.5 points instead of 100.
Animal damage
The animal damage block governs damage against wildlife (deer, pigs, wolves, bears, and any custom animal NPCs added by mods). It follows the same multiplier pattern but has one fewer field: there is no arm multiplier.
| Field | Value |
|---|---|
| Animal_Damage | 99 |
| Animal_Leg_Multiplier | 0.6 |
| Animal_Spine_Multiplier | 0.8 |
| Animal_Skull_Multiplier | 1.1 |
Animal_Damage
Animal_Damage (99) matches the player base damage exactly. The weapon treats animals and players identically at the base-damage level. Unlike the zombie table, there is no elevated base for animals. This means the weapon is balanced the same way against wildlife as it is against players, which is typical for precision weapons that do not rely on area-of-effect or splash mechanics.
Animal multipliers
The three animal multipliers match the player multipliers exactly:
Animal_Leg_Multiplier(0.6) produces 99 x 0.6 = 59.4 damage to animal legs.Animal_Spine_Multiplier(0.8) produces 99 x 0.8 = 79.2 damage to animal spine.Animal_Skull_Multiplier(1.1) produces 99 x 1.1 = 108.9 damage to animal skull.
There is no Animal_Arm_Multiplier because animal rigs do not have an arm hitbox. Animals use a different bone hierarchy than player and zombie models. The hit detection system maps collisions to bones using the model's skeleton; if a bone does not exist in the skeleton, no collision will ever map to that zone. The absence of an arm multiplier in the asset file simply means the field is not needed -- if a collision somehow mapped to an arm bone on an animal, the un-multiplied base damage of 99 would apply.
Animal damage per hit zone (computed)
| Hit zone | Multiplier | Damage (base 99) |
|---|---|---|
| Skull | 1.1 | 108.9 |
| Spine | 0.8 | 79.2 |
| Leg | 0.6 | 59.4 |
The animal hit-zone table is a three-row subset of the player table. The damage values are identical to their player counterparts. The spread between skull (108.9) and leg (59.4) is the same 49.5 points as the player table. The weapon rewards headshots against animals at the same ratio as against players.
Handling
The handling block controls recoil, spread, and screen shake. These fields determine how the weapon moves the camera view on fire, how much the projectile deviates from the crosshair position, and how much the screen trembles during the firing sequence. The Shadowstalker has pronounced asymmetric recoil and a near-perfect spread value.
| Field | Value |
|---|---|
| Recoil_Min_X | -25 |
| Recoil_Min_Y | 20 |
| Recoil_Max_X | -20 |
| Recoil_Max_Y | 25 |
| Spread_Aim | 0.001 |
| Shake_Min_X | -0.005 |
| Shake_Max_X | 0.005 |
Horizontal recoil: Recoil_Min_X and Recoil_Max_X
The horizontal recoil range is defined by Recoil_Min_X (-25) and Recoil_Max_X (-20). Both values are negative. This is the defining handling characteristic of the Shadowstalker and one of the most unusual recoil configurations in the game's weapon data.
In a typical weapon, the horizontal recoil range spans from a negative value (leftward kick) to a positive value (rightward kick), such as -10 to 10. This produces a symmetric or near-symmetric range where the crosshair can kick either left or right on each shot, selected at random by the engine within the range. The Shadowstalker's horizontal range is -25 to -20, which means both the minimum and maximum are negative. The engine picks a random value within this band, and every possible outcome is a leftward kick. The crosshair never moves right -- it always moves left.
The band itself is tight: the difference between the minimum (-25) and maximum (-20) is only 5 units. The engine picks a value between these two bounds, so the horizontal kick varies between 20 and 25 units of leftward displacement. This is a moderate-to-strong leftward pull with very little randomness in the magnitude.
What causes this? The negative values mean the kick direction is explicitly coded as leftward. In the game's coordinate system, negative X values correspond to leftward screen movement from the player's perspective. By setting both the minimum and maximum to negative values, the asset author has created a deterministic recoil direction: the weapon pulls left every single shot, with a small amount of variation in exactly how far left it pulls. The engine uses the X axis for horizontal movement and the Y axis for vertical movement. A positive X value would move the crosshair rightward. Because both Recoil_Min_X and Recoil_Max_X are negative, the game's random selection within that range can only produce leftward results.
To understand why both values are negative, consider how the engine reads them. The engine generates a random value between Recoil_Min_X and Recoil_Max_X. If the minimum were -5 and the maximum were 5, the engine could pick -5, 0, 3, 5, or any value in between -- some left, some right, some neutral. But with both bounds negative (-25 and -20), every possible random selection falls in the negative range. The engine is not using the sign of the minimum and maximum to determine direction independently; it is simply choosing a number within the range. The fact that the entire range is negative means every possible outcome is a leftward displacement.
A modder who wants symmetric horizontal recoil should set Recoil_Min_X to a negative value and Recoil_Max_X to the corresponding positive value, such as -25 and 25. This creates a symmetric band centred on zero. To introduce randomness in the kick direction without changing the magnitude, keep the absolute values equal but make them negative-to-positive. To remove horizontal recoil entirely, set both values to 0.
Vertical recoil: Recoil_Min_Y and Recoil_Max_Y
The vertical recoil range is defined by Recoil_Min_Y (20) and Recoil_Max_Y (25). Both values are positive, meaning the crosshair always kicks upward -- never downward. The range from 20 to 25 means the upward displacement varies between 20 and 25 units per shot.
The combined vertical and horizontal recoil pattern is: upward by 20 to 25 units, and leftward by 20 to 25 units. The net recoil impulse is upward-left, with the vertical and horizontal components having roughly equal magnitude. The total recoil displacement of 20 to 25 on both axes is substantial -- it places the Shadowstalker among the higher-recoil weapons in the game.
However, because the weapon holds only one round before requiring a reload, the player experiences this recoil as a single large kick rather than a sustained climb across multiple shots. The recoil is a single event per firing cycle, not a cumulative pattern. This is a key design distinction: high per-shot recoil is manageable on a single-shot weapon in a way that high per-shot recoil is not manageable on a fully automatic weapon where the recoil compounds across a burst.
Spread_Aim
Spread_Aim is set to 0.001. This is the angular deviation (in the engine's internal angle units) applied to the projectile spawn direction when the player is aiming down sights. The engine takes the crosshair direction, adds a random angular offset drawn from a distribution scaled by the Spread_Aim value, and spawns the projectile along the resulting vector.
A value of 0.001 is extremely tight. It is effectively pinpoint accuracy -- the random angular offset is so small that the projectile lands almost precisely on the crosshair position even at maximum Range. To put this in context, many assault rifles have Spread_Aim values around 0.05 to 0.1, which is 50 to 100 times larger. A Spread_Aim of 0.001 is characteristic of dedicated precision weapons.
This near-perfect spread value is consistent with the Shadowstalker's identity as a railgun. Electromagnetic-acceleration weapons in fiction are portrayed as highly accurate, with no mechanical dispersion -- the projectile is accelerated along a fixed path with no moving barrel parts to introduce deviation. The asset data reflects this: the spread is set low enough that it will be imperceptible in normal gameplay.
Note that Spread_Aim only applies while aiming down sights. Hip-fire spread is governed by a separate field (often Spread_Hip), which is not present in the extracted data for the Shadowstalker. If a hip-fire spread field is absent, the engine uses its default spread value for hip fire, which is typically larger than the aimed spread. This means the weapon is significantly more accurate when the player is aiming down sights than when firing from the hip -- a distinction that is larger for the Shadowstalker than for most weapons because the aimed spread is so tight. The gap between a 0.001 aimed spread and a default hip-fire spread (which could be 0.1 or higher) is a hundredfold or more.
Shake_Min_X and Shake_Max_X
Shake_Min_X (-0.005) and Shake_Max_X (0.005) control the horizontal screen shake on fire. These values produce a horizontal oscillation centred on zero -- the screen trembles left and right with equal magnitude. The shake magnitude of 0.005 is moderate. For comparison, the Rocket Launcher has a shake value of 0.0025, meaning the Shadowstalker's screen shake is double the intensity of the base-game explosive weapon.
There are no Shake_Min_Y or Shake_Max_Y fields in the extracted data. Their absence means vertical screen shake is zero -- the shake effect is horizontal-only. This is the expected pattern for a recoil-based screen effect rather than an explosion-based one, which would typically shake in both axes.
Flags
Flags are boolean or tag-like properties that enable or disable specific weapon behaviours. They appear in the asset file as a list of strings. The engine reads each flag at load time and toggles the corresponding behaviour. The Shadowstalker has 14 flags, a relatively extensive list for a weapon.
Flags present:
"7b82c125a5a54984b8bb26576b59e977"BlueprintsHook_GripHook_SightHook_TacticalInputItemsInvulnerableRequiresNearbyCraftingTagsSafetySemi[]{}
GUID flag: "7b82c125a5a54984b8bb26576b59e977"
This is a GUID-format flag, not a named keyword. When a flag is a GUID string rather than a standard flag name, it typically references a specific blueprint or recipe asset. In the crafting system, blueprints can be linked to items via these GUID-format flags. The exact function depends on the asset that carries the matching GUID. To determine what this flag does, a modder should search for the GUID 7b82c125a5a54984b8bb26576b59e977 across the game's asset files and read the referenced asset's type and fields. This flag is not a standard engine flag and its behaviour is determined by the asset it points to.
Blueprints
The Blueprints flag enables the weapon to participate in the crafting-blueprint system. Without this flag, the weapon cannot appear as an ingredient or output in any crafting recipe. With it, the weapon is registered as a blueprint participant and can be referenced by blueprint assets that list it as an input or output item.
Hook_Grip
Hook_Grip enables an underbarrel attachment slot on the weapon model. This slot accepts grip-type attachments: foregrips, bipods, and similar underbarrel devices. The attachment system looks for a specific child transform on the weapon model at a predetermined index for the grip attachment point. If the model does not have a grip attachment transform, the attached grip will appear at the wrong position or not appear at all.
Hook_Sight
Hook_Sight enables an optic attachment slot. This slot accepts sight-type attachments: red-dot sights, holographic sights, scopes, and similar optical devices. The sight attaches to the weapon model at the sight transform index. The presence of Hook_Sight is standard for nearly all ranged weapons in Unturned; its absence would indicate a weapon that does not support optics.
Hook_Tactical
Hook_Tactical enables a tactical-device attachment slot. This slot accepts tactical-type attachments: rangefinders, tactical lights, laser sights, and similar devices. The tactical device attaches at the tactical transform index on the model. The three hooks (Grip, Sight, Tactical) together mean the Shadowstalker supports a full attachment loadout across three of the four standard weapon attachment slots. The fourth standard slot, Hook_Barrel, is absent -- the Shadowstalker does not support barrel attachments such as suppressors or muzzle brakes.
The absence of Hook_Barrel is consistent with a railgun's design. A railgun's barrel is an electromagnetic accelerator consisting of two parallel rails and a sliding armature, not a threaded firearm barrel. Muzzle devices such as suppressors, muzzle brakes, and compensators attach to threaded barrels and have no mechanical counterpart on a railgun. If a modder wants to add barrel-attachment support, they would add the Hook_Barrel flag and ensure the model has a barrel attachment transform at the correct index.
It is worth noting that the three present hooks (Grip, Sight, Tactical) cover the most commonly used attachment categories. The Sight hook is nearly universal on ranged weapons; the Tactical hook supports utility devices; the Grip hook supports stability attachments. The Barrel hook's absence is the only attachment limitation, and it is thematically justified. A modder who wants to create a "tactical railgun" variant could add all four hooks, but this would require model edits to add the barrel attachment transform, and the suppressor attachment would be mechanically implausible for a railgun's firing mechanism (no expanding propellant gases to suppress).
InputItems
InputItems marks the asset as accepting input items during a crafting operation. This flag works in concert with Blueprints. When both are present, the weapon can be an ingredient in a recipe -- the player places the weapon (along with other required input items) into a crafting interface, and the recipe produces an output. The absence of OutputItems from the Shadowstalker's flags means the weapon is not itself a crafted output in any recipe that uses the standard OutputItems mechanism. It may still be produced by a blueprint that uses GUID-based referencing instead of the OutputItems flag.
Invulnerable
Invulnerable prevents the weapon from taking durability damage. Items in Unturned normally have a durability value that decreases with use or damage. The Invulnerable flag exempts the weapon from this system entirely. The Shadowstalker does not degrade, does not require repair, and cannot be destroyed through normal gameplay. It is a permanent item once obtained.
This is a rare flag for a handheld weapon. Most weapons have finite durability and will eventually break or require repair. The Invulnerable flag signals that the Shadowstalker is intended to be a persistent, non-consumable item. It cannot be lost to wear -- only to death drops (if the server allows item drops on player death) or inventory wipes.
Server owners should be aware that Invulnerable weapons alter the item economy. A player who obtains the Shadowstalker has it forever. There is no ongoing cost (repair materials, replacement weapons) associated with using it. This permanence makes the weapon disproportionately valuable compared to degradable alternatives of similar rarity.
For modders, removing the Invulnerable flag makes the weapon subject to the standard durability system. It will accrue wear from use, display a durability bar in the inventory, and eventually require repair or replacement. Adding durability introduces a consumable-resource dimension to the weapon that may be desirable for servers that want to maintain item sinks in their economy. If you remove Invulnerable, also verify that the weapon's durability-related fields (Durability, Wear, and possibly Durability_Loss_Per_Shot) are set to reasonable values. The default durability values may produce a weapon that breaks too quickly or lasts far too long for the server's intended economy. Test the degradation rate by firing the weapon repeatedly in a local environment and timing how long it takes to reach the broken state.
RequiresNearbyCraftingTags
RequiresNearbyCraftingTags means the crafting operation involving this weapon requires a specific crafting station or tagged object to be nearby. The tags are defined in the blueprint asset that references the weapon. The engine checks whether any object within a certain radius carries the required tags; if no tagged object is present, the crafting operation is blocked.
This is a common constraint for high-rarity and high-tier weapon crafting. It prevents players from crafting advanced weapons from their inventory alone and forces them to be near a specialised workstation. The specific tags required for the Shadowstalker's recipes are determined by the blueprint assets that reference it.
Safety
Safety enables a safety-fire-selector mechanism on the weapon. When this flag is present, the weapon has a safety mode that the player must cycle through to reach the firing mode. The player presses the fire-mode-selector key to cycle from safe to fire (and any intermediate modes). While in safe mode, the weapon cannot fire.
This is a realism and safety feature. It prevents accidental discharge when the player picks up or equips the weapon -- they must explicitly switch off safe before firing. For a high-damage single-shot weapon like the Shadowstalker, the Safety flag adds a deliberate step to the firing sequence that can affect the weapon's responsiveness in urgent situations. The player must press the fire-mode key to cycle from Safe to Semi before the first shot. The safety state persists through reloads; the weapon stays in fire mode until the player manually cycles back to safe.
The Safety flag is a toggle that adds one state to the fire-mode selector. Without Safety, the fire-mode cycle might be just Semi. With Safety, the cycle becomes Safe -> Semi. If additional fire modes are added (e.g., Auto), the cycle becomes Safe -> Semi -> Auto. The Safety state is always the first in the cycle -- the weapon defaults to safe when equipped or when the selector wraps around.
Semi
Semi is the semi-automatic fire flag. The weapon fires one round per trigger pull. The player must release the fire key and press it again for each subsequent shot. Holding the fire key does not produce continuous fire. This is the expected fire mode for a single-shot weapon -- with a magazine capacity of one round, the distinction between semi-automatic and fully automatic is academic because the weapon cannot fire a burst anyway. However, the Semi flag explicitly enforces the one-press-one-shot behaviour, which affects the input handling even in edge cases where the magazine item might be changed to hold more rounds.
If a modder removes Semi and adds Auto without changing the magazine capacity, the weapon's practical behaviour does not change (one round per reload). The fire-mode flag only affects input handling, not magazine capacity. If the magazine capacity is increased and Auto is added, the weapon becomes a fully automatic railgun -- a significant deviation from the base design that requires corresponding changes to recoil, spread, and possibly durability to remain balanced.
The interaction between Semi and Safety is important: with both flags present, the fire-mode cycle is Safe -> Semi. After switching off safe, the weapon is in semi-automatic mode and fires one round per trigger pull. If Semi is the only fire-mode flag (no Auto, no Burst), the weapon has exactly one firing mode. Adding additional fire-mode flags creates a longer cycle.
Bracket characters: [, ],
The four bracket characters that appear as flags are not functional flags. They are artefacts of the data extraction process. In the asset serialisation format, brackets appear as delimiters or separators between data blocks. The extraction tool that produced the flag list captured these delimiter characters as though they were flag entries. They do not affect weapon behaviour in any way and can be ignored by modders. They are included in this reference for completeness, as they appear in the extracted data.
Loot table presence
The Shadowstalker appears in twelve loot tables across multiple official Unturned maps. Each entry specifies the map, the named spawn table, and the percentage chance the item is selected in a single roll of that table.
| Map | Spawn table | Chance per roll |
|---|---|---|
| Core | Washington Arena_Arena_Railgun | 100.000% |
| Core | Arena_Railgun | 100.000% |
| Core | PEI Arena_Arena_Railgun | 100.000% |
| Core | Alpha Valley_Arena_Railgun | 100.000% |
| Core | Monolith_Arena_Railgun | 100.000% |
| Core | Alien_Guns | 100.000% |
| Belgium | Deadzone_Belgium_Special | 19.231% |
| Core | Washington_Alien | 10.753% |
| Core | Alien | 10.753% |
| Belgium | Deadzone_Belgium_HULK | 4.438% |
| Belgium | Research_Belgium_HULK | 4.405% |
| Belgium | Deadzone_Belgium | 0.493% |
Understanding the percentage column
The percentage displayed in the Chance per roll column is the result of dividing the Shadowstalker's weight by the total weight of all items in the same spawn table. It is not a hand-entered percentage in the spawn-table configuration file. The underlying data that the game stores is a weight value -- an integer or floating-point number. When the game rolls the spawn table, it sums the weights of every item in the table, generates a random number within that total, and selects the item whose weight range the random number falls into.
The percentage column is a human-readable representation of that weight distribution. A weight of 100 out of a total table weight of 1000 produces a 10.000% chance. If a modder adds or removes items from the spawn table, every item's percentage changes because the total weight changes, even though the individual weight values remain the same. When editing spawn tables, work with the raw weight values, not the derived percentages. Use the percentage values in this reference to understand the current distribution but do not target them as fixed numbers when making changes.
For the 100.000% tables, the percentage implies that the Shadowstalker's weight equals the total table weight. This could mean the Shadowstalker is the only item in the table (its weight equals the sum of all weights, which is just its own weight), or that other items are present but have a weight of zero (disabled). Either way, the effective result is the same: every roll selects the Shadowstalker. A modder who adds items with non-zero weights to these tables will immediately drop the Shadowstalker's chance below 100.000%, because the total weight increases while the Shadowstalker's weight stays the same.
For the Belgium tables, the percentages reflect distributions with many competing items. The Deadzone_Belgium_Special table's 19.231% means the Shadowstalker's weight is roughly one-fifth of the total table weight. The Deadzone_Belgium table's 0.493% means the Shadowstalker's weight is roughly one-two-hundredth of the total -- indicating a very large table with many items diluting the pool.
Tier 1: Guaranteed tables (100.000%)
Six spawn tables carry the Shadowstalker at 100.000% per roll. These are:
Washington Arena_Arena_RailgunArena_RailgunPEI Arena_Arena_RailgunAlpha Valley_Arena_RailgunMonolith_Arena_RailgunAlien_Guns
All six are on the Core map. The first five are arena-mode spawn tables, each named after the railgun itself. Arena mode in Unturned is a structured PvP game mode with designated weapon spawns. When an arena map designates a railgun spawn location, the game rolls the corresponding Arena_Railgun table, which at 100.000% always yields the Shadowstalker. These tables likely contain the Shadowstalker as the only item, or as the strongly dominant item such that its weight equals the total table weight.
The Alien_Guns table at 100.000% is a general alien-themed weapon table on the Core map. A 100.000% chance means the Shadowstalker is either the sole item in this table or its weight so dominates the total that no other item has a meaningful chance. This table is used by alien-type loot containers and alien NPC drops on Core-map survival servers.
The practical implication of these six guaranteed tables is that in arena mode, the Shadowstalker is not rare -- it is the designated weapon for its arena spawn category, and every roll produces it. In survival mode, the Alien_Guns table provides a second guaranteed access path through alien-themed loot sources.
Tier 2: Special deadzone table (19.231%)
The Deadzone_Belgium_Special table on the Belgium map gives the Shadowstalker a 19.231% chance per roll. This table is tied to the deadzone biome -- radiation zones on the Belgium map where rare and high-tier items are concentrated. A roughly one-in-five chance per roll is high for a Legendary weapon and makes the Shadowstalker a farmable item from Belgium deadzone special containers. The deadzone biome's radiation hazard and high NPC density serve as the access barrier; the loot table itself is generous.
Tier 3: Alien-themed tables (10.753%)
Two alien-themed tables on the Core map carry the Shadowstalker at 10.753%:
Washington_Alien-- the alien loot table specific to the Washington map's alien-themed contentAlien-- the generic alien loot table used across Core map content
Both tables have an identical percentage, which means the Shadowstalker's weight-to-total-weight ratio is the same in both. These tables are used by alien-type NPC drops and alien-themed loot containers. A 10.753% chance per roll means roughly one in ten alien loot rolls yields the Shadowstalker. This is a moderate rate -- the weapon is not guaranteed from alien encounters, but consistent farming of alien NPCs will produce it.
The Shadowstalker's presence in alien tables is consistent with its theme: a prototype railgun is a sci-fi weapon, and alien loot pools in Unturned contain advanced-technology items. The clustering of the weapon in arena, alien, and deadzone tables -- and not in civilian, military, or police tables -- reinforces its identity as an exotic, non-standard item.
Tier 4: HULK enemy tables (4.438% and 4.405%)
Two HULK-type enemy drop tables on the Belgium map carry the Shadowstalker at approximately 4.4%:
Deadzone_Belgium_HULK(4.438%) -- HULK enemies in the deadzone biomeResearch_Belgium_HULK(4.405%) -- HULK enemies in research-facility areas
HULK enemies are large, high-health NPCs. They are boss-tier encounters that drop rare loot. The nearly identical percentages (4.438% vs 4.405%) suggest the Shadowstalker has the same or very similar weight values in both tables, with the slight difference arising from different total table weights due to different numbers of competing items.
A 4.4% chance per roll means the Shadowstalker is a rare drop from HULK enemies. Farming HULK spawns will eventually yield the weapon, but the drop rate is low enough that obtaining it is a notable event.
Tier 5: General deadzone table (0.493%)
The Deadzone_Belgium table -- the broad, general-purpose deadzone loot pool -- carries the Shadowstalker at 0.493%. This is the lowest rate in the loot table. The general deadzone table contains many potential items spanning multiple rarity tiers, and the Shadowstalker's weight is a very small fraction of the total. Finding the weapon from a generic deadzone container is a low-probability event, comparable to finding other top-tier Legendary items from broad loot pools.
Loot table summary
The Shadowstalker's loot presence can be categorised into two access paths:
Guaranteed access (arena mode): The five arena railgun tables and the
Alien_Gunstable all yield the weapon at 100.000%. In arena mode, the railgun is handed to players as the designated weapon for that spawn category. TheAlien_Gunstable provides a guaranteed alien-loot access path on Core-map survival servers.Probability-based access (survival mode): The Belgium deadzone tables (special, HULK, general) and the Core alien tables yield the weapon at rates from 0.493% to 19.231%. The highest survival-mode rate is the Belgium special deadzone table at 19.231%. The lowest is the general deadzone table at 0.493%.
Canned Beans
There are no Canned Beans associated with the Shadowstalker in the extracted loot data. The weapon does not appear in any food, civilian, or bean-related loot tables. Its loot presence is confined to arena, alien, deadzone, and HULK tables -- combat and advanced-technology loot pools that do not overlap with food item distributions.
For the broader context of beans in Unturned lore and loot systems, see the Canned Beans Lore page.
Practical use
Server owner notes
The Shadowstalker sits at an interesting intersection of accessibility and power. In arena mode, it is guaranteed to appear at designated railgun spawn points, so any arena server that includes railgun spawns will see the weapon in regular circulation. In survival mode, the weapon is accessible through two distinct pathways on different maps: alien loot on Core maps and deadzone exploration on the Belgium map. The highest survival-mode rate of 19.231% (Belgium special deadzone) means committed deadzone runners will obtain the weapon regularly. The lowest rate of 0.493% (general deadzone) keeps the weapon rare from non-specialised loot sources.
The Invulnerable flag is the single most impactful field for server economies. A permanent Legendary weapon with 99 base player damage and 125 base zombie damage represents a fixed item that players keep forever. Servers that want item sinks (repair costs, replacement cycles) should consider removing the Invulnerable flag to introduce durability degradation. Servers that want the Shadowstalker to be a prestige item -- a reward that persists permanently as a status symbol -- should leave Invulnerable intact.
The weapon's single-round magazine means it fires one shot per reload cycle. On servers with custom magazine items that increase capacity, the weapon's damage output scales linearly with magazine size. A server that ups the magazine to 5 rounds increases the weapon's burst potential fivefold. The combination of high base damage, the Rail action's gravity-free projectile, and the 0.001 Spread_Aim makes a multi-round railgun extremely potent -- each additional round in the magazine is another 99 base player damage / 125 base zombie damage with pinpoint accuracy. Server owners should test any magazine-capacity changes thoroughly in a controlled environment before deploying to a live server, and should consider compensating nerfs (increased recoil, reduced damage, added spread) if the magazine is increased beyond the default capacity of 1.
Modder field edits
Modders editing the Shadowstalker asset should focus on the fields described in this reference. The key editable characteristics are:
Fire mode. The Semi flag enforces one-shot-per-trigger-pull. Removing Semi and adding Auto changes the fire mode, but with the default single-round magazine, the practical difference is negligible -- the weapon still fires one shot and then must reload. To create a fully automatic railgun, also edit the magazine item (301) to increase its capacity and set Ammo_Min and Ammo_Max to appropriate values. Note that increasing the rate of fire from single-shot to automatic with a multi-round magazine dramatically changes the weapon's damage output profile and may necessitate corresponding changes to recoil, spread, and durability to maintain balance.
If you are keeping the weapon semi-automatic but want a faster firing cadence, reduce the Firerate value (lower values = shorter delay between shots). With the single-round magazine, a lower Firerate primarily reduces the delay between the fire input and the shot being fired, plus the cooldown before reload, as described in the ballistics section.
Recoil symmetry. The asymmetric horizontal recoil range of -25 to -20 means the weapon always kicks left. To create symmetric recoil that can kick in either direction, set Recoil_Min_X to a negative value and Recoil_Max_X to the matching positive value (for example, -25 and 25). To remove horizontal recoil entirely, set both Recoil_Min_X and Recoil_Max_X to 0. To adjust vertical recoil, change Recoil_Min_Y and Recoil_Max_Y. Higher values mean more upward kick; lower values reduce it.
Attachment hooks. The weapon currently supports three attachment slots: Grip, Sight, and Tactical. To add barrel attachments (suppressors, muzzle brakes), add the Hook_Barrel flag. The weapon model must have a barrel attachment transform at the correct index, or the attached barrel device will render at the world origin. If the model lacks a barrel attachment point, the model must be edited in Unity to add the transform before the Hook_Barrel flag can function correctly.
Invulnerability. Remove the Invulnerable flag to make the weapon subject to the durability system. The weapon will accumulate wear from use, display a durability bar, and eventually require repair or replacement. This is the single largest economy-impacting change a server owner or modder can make to the weapon. To fine-tune the degradation rate, also edit the durability-related fields (Durability, Wear) if they are present in the asset file or inherited from the weapon base class.
Loot-table weights. To change the Shadowstalker's spawn frequency, edit the weight values in the spawn-table configuration for each map. Decreasing the weight reduces the chance per roll; increasing it raises the chance. To make the weapon rarer in the guaranteed tables (currently 100.000%), add competing items to the table with non-zero weights. The Shadowstalker's weight then becomes a fraction of the new total, and the percentage drops below 100.000%. To make the weapon more common in the general deadzone table (currently 0.493%), increase its weight relative to other items in the same table.
Blueprint exploration. The Blueprints, InputItems, and GUID-format flags indicate the weapon participates in a crafting recipe system. To map the full recipe, search the game files for the GUID 7b82c125a5a54984b8bb26576b59e977 and read the blueprint asset that matches. The blueprint will list input items, output items, and any required crafting tags. The RequiresNearbyCraftingTags flag means the recipe requires a crafting station; identify the station by reading the tag requirements in the blueprint asset. A modder who wants to create new recipes involving the Shadowstalker should author new blueprint assets with their own GUIDs and link them to the weapon via the flags and blueprint input/output lists.
Testing workflow
When editing any field, test each change in isolation before combining edits. The Shadowstalker's characteristics form a system: the single-round magazine, the high base damage, the Rail action, the leftward recoil, the precise spread, and the Invulnerable flag all interact. Changing one field can produce unexpected downstream effects. For example, increasing the magazine capacity without adjusting the recoil values can make the weapon uncontrollable in sustained fire. Adding the Hook_Barrel flag without a barrel transform on the model produces visual bugs. Removing Invulnerable without configuring durability fields may cause the weapon to break after very few uses.
A systematic testing approach:
Baseline test: On a test server, spawn the weapon with
/give Shadowstalkerand fire it at a wall to verify the unmodified asset loads and functions correctly. Confirm the projectile spawns from the muzzle, the recoil kicks leftward and upward, the single-round magazine depletes after one shot, and the reload cycle completes.Single-field edit: Change exactly one field. Spawn the edited weapon (or reload the mod) and test only the behaviour that field controls. If you changed
Recoil_Min_X, test only the horizontal recoil. Do not also test damage or loot tables in the same session -- isolate the variable.Edge-case testing: After confirming the edit works in normal conditions, test edge cases. Fire the weapon while moving. Fire it while jumping. Fire it at maximum Range. Fire it against each target type (player, zombie, animal) if you edited damage fields. Test hip-fire vs aimed-fire if you edited spread fields.
Server-console monitoring: Keep the server console open during testing. Watch for error messages, warning logs, or asset-load failures. A silent failure (weapon spawns but does not fire, or fires from the wrong position) may not produce a console error but is still a broken asset. A missing transform produces a null-reference warning in the console. A GUID collision produces a load error. Address every console message before combining edits.
Combine edits incrementally: After confirming each individual edit works, combine them one at a time. Test after each combination. Do not combine all five edits and test once -- if the weapon breaks, you will not know which edit or which interaction caused the break.
Common pitfalls
Projectile spawning at world origin. If the Muzzle value (42) does not match a real transform on the custom model, the projectile spawns at the model root or world origin. Fix by adjusting the Muzzle field to match the actual transform index, or by adding a muzzle transform at index 42 in the Unity prefab.
Calibre mismatch. If the weapon's Caliber (14) does not match the magazine asset's calibre, the engine will not link the weapon to the magazine and reloads will fail silently. Verify that all three assets (weapon, magazine, ammunition) share the same Caliber value.
Missing action type. If the Action field is deleted or set to an unrecognised value, the engine falls back to the default action type, which may not have the projectile behaviour you expect. Always keep Action set to Rail (or a deliberate alternative) and do not leave the field empty.
Flag typo. Flag names are case-sensitive and must match exactly. hook_sight (lowercase) is not the same as Hook_Sight (PascalCase). A mistyped flag is silently ignored by the engine; the weapon behaves as though the flag is absent with no error message.
Magazine capacity mismatch. If Ammo_Max exceeds the magazine's capacity, the weapon may spawn with the wrong number of rounds or behave unpredictably during reload cycles. Always keep Ammo_Max less than or equal to the magazine item's capacity.
