VitalCore

Data-driven pawn vitals in one component: any stats you name, regeneration, resistances and armor, shields, timed and stacking status effects, downed / death / revive,…

Malware-scannedSigned licence keyInstant downloadUpdates included
VitalCore β€” screenshot 1
VitalCore β€” screenshot 2
VitalCore β€” screenshot 3
VitalCore β€” screenshot 4
VitalCore β€” screenshot 5
VitalCore β€” screenshot 6
VitalCore β€” screenshot 7
VitalCore β€” screenshot 8
VitalCore β€” screenshot 9
VitalCore β€” screenshot 10
1 / 10
Vitals component with any number of named stats from a data asset or an inline array
Current, maximum and minimum value per stat, runtime add, set and base-max changes
Regeneration per stat with rate and delay after damage or use (negative rates decay)
Damage multipliers per damage type class, flat armor and a minimum-damage floor
Shield stat that absorbs damage before health, own recharge delay, break event
Timed effects: damage / heal over time, stat drain / boost, tick interval and duration
$17.00

VitalCore replaces the usual health float and its pile of timers with a complete vitals system. Add the Vitals component to any pawn or actor and define its stats - Health, Stamina, Shield, Mana, Hunger, anything - inline or in a shared Vital Core Profile data asset. Each stat has a current, maximum and minimum value, a regeneration rate and a delay that restarts whenever the stat is damaged, drained or spent.

Damage goes through a clear pipeline: multipliers per damage type class (including child types), a flat armor value, a minimum-damage floor, then a shield stat that absorbs part or all of the hit before health and recharges on its own delay, with a break event. The engine's own Apply Damage, Apply Point Damage and Apply Radial Damage are picked up automatically and counted once, so existing weapons work without changes. Every hit records its direction, location, bone, instigator and causer; the last hit angle drives hit indicators, and at death the kill credit and the assist list are computed from the damage dealt inside a configurable time window.

Vital Core Effect data assets cover timed and status effects: damage or heal over time, stat drain or boost, with tick interval and duration, plus stacks, maximum stacks, a Refresh / Extend / Keep policy and modifiers that add to or multiply a stat's maximum or regeneration, add armor or scale incoming damage while active. A quick Apply Timed Change node does the same without an asset.

Pawns can be downed first, with a bleed-out timer that damage shortens, then die, and be revived with a fraction of their health. An invulnerability window after hits and revives and a god-mode toggle are built in. Character owners take fall damage from their landing speed with a threshold and linear or curve scaling. Stamina spending refuses what it cannot afford and locks out after exhaustion until stamina recovers, and a sprint helper drains stamina and can switch the walk speed.

Everything is server-authoritative and replicated: stats, effects, life state, last hit, kill info and timers reach every client, and RepNotifies fire the same Blueprint events there as on the server. Save Vitals captures every stat and effect into one SaveGame-ready struct and Load Vitals restores it. The VitalCore.Debug console variable draws every pawn's vitals above it in development builds.

VitalCore is part of the Alpha XP collection for Unreal Engine 4.27 and 5.8. Every feature is exposed to Blueprints and C++, it ships with styled HTML documentation, and it is compiled and verified warning-free against clean UE 4.27 and UE 5.8 projects.

68Blueprint nodes
14Events
2Engine builds
2Platforms

Key features

  • Vitals component with any number of named stats from a data asset or an inline array
  • Current, maximum and minimum value per stat, runtime add, set and base-max changes
  • Regeneration per stat with rate and delay after damage or use (negative rates decay)
  • Damage multipliers per damage type class, flat armor and a minimum-damage floor
  • Shield stat that absorbs damage before health, own recharge delay, break event
  • Timed effects: damage / heal over time, stat drain / boost, tick interval and duration
  • Status effects with stacks, max stacks and Refresh / Extend / Keep policy
  • Modifiers: add or multiply max and regeneration, add armor, scale damage taken
  • Downed state with bleed-out timer, death, revive with a health fraction
  • Invulnerability window after hits and revives, god-mode toggle
  • Server-authoritative replication with client-side events through RepNotify
  • Automatic hook into engine point, radial and generic damage
  • Hit info: direction, angle, location, bone, instigator and causer
  • Kill credit and assist list within a time window, with player states
  • Fall damage from landing speed for characters, linear or curve scaling
  • Save Vitals / Load Vitals into a SaveGame-ready struct
  • Try Spend Stamina with exhaustion lockout and a sprint drain helper
  • VitalCore.Debug on-screen stats and a Blueprint function library

Blueprint & C++ API

The API is organised into these entry points:

ClassTypeNodesUse it for
VitalCoreComponentActor component55Data-driven vitals for any actor: named stats with regeneration, resistances and armor, shield, timed and stacking status effects, downed / death / revive, invu…
VitalCoreLibraryFunction library11One-node access to the vitals of any actor (or of the pawn of a controller).
VitalCoreEffectData asset1A timed or status effect: periodic stat changes (damage / heal over time, drain, boost), stat modifiers while active (max, regeneration, armor, damage taken), s…
VitalCoreProfileData asset1Reusable set of stat definitions, resistances and armor shared by many pawns. Create one with Add > Miscellaneous > Data Asset > Vital Core Profile.

Callable runs when executed Β· Pure no exec pin, returns a value

Damage 4
NodeTypeAvailable onDescription
Apply Vital Damage(Amount: Float, Damage Type: Damage Type, Instigated By: Controller, Damage Causer: Actor, Hit Location: Vector, …) β†’ FloatCallableComponentApplies damage through resistances, armor, shield and invulnerability. Returns the health lost.
Heal(Amount: Float, Stat: Name) β†’ FloatCallableComponentAdds Amount to a stat (None = health). No effect on the health of a downed or dead pawn. Returns the amount added.
Get Damage Multiplier(Damage Type: Damage Type) β†’ FloatPureComponentCombined multiplier for a damage type: resistances of the component and profile, and damage-taken modifiers.
Get Effective Armor() β†’ FloatPureComponentArmor of the component and profile plus Add Armor modifiers.
Death 8
NodeTypeAvailable onDescription
Kill(Killer: Actor)CallableComponentKills the pawn immediately (ignores god mode and the downed state). Killer gets the credit when set.
Revive(Health Fraction: Float) β†’ BooleanCallableComponentRevives a downed (or dead) pawn with Health Fraction of its health. Returns false when nothing happened.
Get Life State() β†’ Vital Core Life StatePureComponent
Is Alive() β†’ BooleanPureComponent
Is Downed() β†’ BooleanPureComponent
Is Dead() β†’ BooleanPureComponent
Get Downed Time Remaining() β†’ FloatPureComponentSeconds left before a downed pawn bleeds out (0 when not downed).
Get Kill Info() β†’ Vital Core Kill InfoPureComponentKill credit of the last death.
Stats 17
NodeTypeAvailable onDescription
Reset VitalsCallableComponentRebuilds every stat from its definition, removes all effects and makes the pawn alive (respawn).
Modify Stat(Stat: Name, Delta: Float) β†’ FloatCallableComponentAdds Delta to a stat; a decrease starts its regeneration delay. Returns the change applied.
Set Stat Value(Stat: Name, Value: Float)CallableComponent
Set Stat Base Max(Stat: Name, New Base Max: Float, Keep Percent: Boolean)CallableComponentChanges the base maximum. Keep Percent scales the current value with it.
Set Stat Regen(Stat: Name, Rate Per Second: Float, Delay: Float)CallableComponent
Add Stat(Definition: Vital Core Stat Def)CallableComponentAdds a stat at runtime, or replaces the definition of an existing one.
Has Stat(Stat: Name) β†’ BooleanPureComponent
Get Stat(Stat: Name) β†’ Boolean, Out StatPureComponent
Get Stat Value(Stat: Name) β†’ FloatPureComponent
Get Stat Max(Stat: Name) β†’ FloatPureComponent
Get Stat Percent(Stat: Name) β†’ FloatPureComponentCurrent value as a fraction 0-1 of the stat's range.
Get Stats() β†’ Array of Vital Core StatPureComponent
Get Health() β†’ FloatPureComponent
Get Health Percent() β†’ FloatPureComponent
Get Shield() β†’ FloatPureComponent
Get Stamina() β†’ FloatPureComponent
Get Regen Delay Remaining(Stat: Name) β†’ FloatPureComponentSeconds until the stat regenerates again (0 = regenerating now).
Effects 8
NodeTypeAvailable onDescription
Apply Effect(Effect: Vital Core Effect, Stacks: Integer, Source: Actor) β†’ BooleanCallableComponentApplies (or stacks) an effect. Returns false when it could not be applied.
Apply Timed Change(Effect Id: Name, Change: Vital Core Stat Change, Tick Interval: Float, Duration: Float, Source: Actor) β†’ BooleanCallableComponentApplies a quick timed change without an asset (damage / heal over time, drain, boost). Applying the same id again refreshes it.
Remove Effect(Effect Id: Name, Stacks: Integer) β†’ IntegerCallableComponentRemoves Stacks stacks of an effect (0 = all). Returns the stacks left.
Remove All EffectsCallableComponent
Has Effect(Effect Id: Name) β†’ BooleanPureComponent
Get Effect Stacks(Effect Id: Name) β†’ IntegerPureComponent
Get Effect Remaining Time(Effect Id: Name) β†’ FloatPureComponentSeconds left (-1 = not active, 0 = no time limit).
Get Active Effects() β†’ Array of Vital Core Active EffectPureComponent
Invulnerability 5
NodeTypeAvailable onDescription
Set God Mode(Enabled: Boolean)CallableComponent
Is God Mode() β†’ BooleanPureComponent
Set Invulnerable For(Seconds: Float)CallableComponentMakes the pawn invulnerable for Seconds (never shortens a running window).
Is Invulnerable() β†’ BooleanPureComponentGod mode or an invulnerability window is active.
Get Invulnerable Time Remaining() β†’ FloatPureComponent
Hits 3
NodeTypeAvailable onDescription
Get Last Hit() β†’ Vital Core Hit InfoPureComponent
Get Last Hit Angle() β†’ FloatPureComponentWhere the last hit came from relative to the owner's facing: 0 front, 90 right, -90 left, 180 back.
Get Recent Damage Sources() β†’ Array of Vital Core Damage RecordPureComponentServer only: damage per source within the assist window, most damage first.
Stamina 6
NodeTypeAvailable onDescription
Try Spend Stat(Stat: Name, Amount: Float) β†’ BooleanCallableComponentSpends Amount of a stat if it has that much (and, for stamina, is not exhausted).
Try Spend Stamina(Amount: Float) β†’ BooleanCallableComponent
Can Spend Stamina(Amount: Float) β†’ BooleanPureComponent
Is Exhausted() β†’ BooleanPureComponent
Set Sprinting(New Sprinting: Boolean)CallableComponentStarts or stops sprinting (drains stamina, optional sprint walk speed). Clients forward the request to the server.
Is Sprinting() β†’ BooleanPureComponent
Save 2
NodeTypeAvailable onDescription
Save Vitals() β†’ Vital Core Save DataPureComponentCaptures every stat and effect, the life state and god mode.
Load Vitals(Data: Vital Core Save Data, Restore Effects: Boolean)CallableComponentRestores a capture made with Save Vitals. Stats missing from the data keep their current state.
VitalCore 15
NodeTypeAvailable onDescription
Get Vital Time() β†’ FloatPureComponentServer world time used by all Vitals timers (replicated end times use it too).
Get Debug Text() β†’ StringPureComponentMulti-line summary of the state (what VitalCore.Debug shows above the pawn).
Get Effect Id() β†’ NamePureData assetThe effect id: Effect Id, or the asset name when Effect Id is None.
Get Vitals(Actor: Actor) β†’ Vital Core ComponentPureStaticThe Vitals component of Actor, or of its pawn when Actor is a controller.
Is Alive(Actor: Actor) β†’ BooleanPureStaticTrue when Actor has vitals and is alive.
Get Stat Value(Actor: Actor, Stat: Name) β†’ FloatPureStatic
Get Health Percent(Actor: Actor) β†’ FloatPureStatic
Apply Heal(Actor: Actor, Amount: Float, Stat: Name) β†’ FloatCallableStaticHeals a stat of Actor (None = health). Server only. Returns the amount added.
Apply Vital Damage(Actor: Actor, Amount: Float, Damage Type: Damage Type, Instigated By: Controller, Damage Causer: Actor) β†’ FloatCallableStaticDamages Actor through its resistances, armor and shield. Server only. Returns the health lost.
Kill(Actor: Actor, Killer: Actor) β†’ BooleanCallableStaticKills Actor immediately. Server only.
Revive(Actor: Actor, Health Fraction: Float) β†’ BooleanCallableStaticRevives Actor with Health Fraction of its health. Server only.
Apply Effect(Actor: Actor, Effect: Vital Core Effect, Stacks: Integer, Source: Actor) β†’ BooleanCallableStaticApplies an effect to Actor. Server only.
Remove Effect(Actor: Actor, Effect Id: Name, Stacks: Integer) β†’ IntegerCallableStaticRemoves an effect from Actor (Stacks 0 = all). Server only. Returns the stacks left.
Get Percent Of Stat(Stat: Vital Core Stat) β†’ FloatPureStaticCurrent value of a stat struct as a fraction 0-1.
Find Stat Definition(Stat Name: Name) β†’ Boolean, Out DefinitionPureData assetFinds a stat definition by name.

Events & delegates

Bind these in Blueprint (drag off the object β†’ Bind Event) or with AddDynamic in C++.

EventParametersWhen it fires
On Stat ChangedVitals (Vital Core Component), Stat (Name), Old Value (Float), New Value (Float)A stat value changed (also every frame while regenerating).
On DamagedVitals (Vital Core Component), Hit (Vital Core Hit Info)Damage was taken (health and/or shield).
On Damage BlockedVitals (Vital Core Component), Hit (Vital Core Hit Info)Server only: a hit was blocked by invulnerability or god mode.
On Shield BrokenVitals (Vital Core Component)The shield stat was emptied by damage.
On DownedVitals (Vital Core Component)
On DeathVitals (Vital Core Component), Kill Info (Vital Core Kill Info)
On RevivedVitals (Vital Core Component)
On Effect AppliedVitals (Vital Core Component), Effect Id (Name), Stacks (Integer)
On Effect Stacks ChangedVitals (Vital Core Component), Effect Id (Name), Stacks (Integer)
On Effect RemovedVitals (Vital Core Component), Effect Id (Name), Stacks (Integer)
On ExhaustedVitals (Vital Core Component)Stamina ran out: spending is locked until it recovers.
On Exhaustion RecoveredVitals (Vital Core Component)
On Sprint ChangedVitals (Vital Core Component), Is Sprinting (Boolean)
On Fall DamageVitals (Vital Core Component), Impact Speed (Float), Damage (Float)Server only: fall damage was applied on landing.

Options & enums

EnumValues
Life StateAlive Downed Dead
Stack PolicyRefresh Extend Keep
Modifier OpAdd Max Multiply Max Add Regen Multiply Regen Add Armor Multiply Damage Taken
Fall ScalingLinear Curve

Compatibility

UE 4.27VitalCore 4.27.zipUE 5.8VitalCore 5.8.zip

One ready-made build per engine version is included in the download β€” copy the one that matches your project.

PlatformSupported in
WindowsEditor & packaged
macOSEditor & packaged
ModuleTypeLoading phase
VitalCoreRuntimeDefault

Technical details

Code modulesVitalCore (Runtime)
Blueprints0 Β· C++ classes: 4
Network replicatedYes
Development platformsWindows: Yes, Mac: Yes
Target build platformsWin64, Mac
Third-party softwareNo
Engine versionsUnreal Engine 4.27 Β· 5.8 β€” a build for each is included
C++ classes4 + 12 structs
Blueprint nodes68
Events14
DocumentationDocumentation.html (in the download)
DownloadVitalCore.zip Β· 164 KB
Versionv1.0.0

What's in the download

FileWhat it is
VitalCore 4.27.zipPlugin build for Unreal Engine 4.27
VitalCore 5.8.zipPlugin build for Unreal Engine 5.8
Documentation.htmlDocumentation (open in a browser)

Quick start

  1. Unzip the download and pick the build that matches your engine (4.27 Β· 5.8).
  2. Copy the VitalCore folder into your project's Plugins/ folder (create it if needed).
  3. Open the project, enable VitalCore under Edit β€Ί Plugins and restart the editor.
  4. Right-click in any Blueprint graph and search Damage β€” or include the public headers from C++.
  5. Package for your target platform (Windows, macOS).

Good to know

Built and verified warning-free for Unreal Engine 4.27 and 5.8. C++ classes: Vitals component, Vital Core Profile (data asset), Vital Core Effect (data asset) and VitalCore Library. All state changes run on the server and replicate to clients, which receive the same events through RepNotify. No content assets are included. The module is enabled for Win64 and Mac; the code is platform-independent engine C++ with no OS-specific calls. Developed and maintained by Alpha XP.

Everything included

  • Vitals component with any number of named stats from a data asset or an inline array
  • Current, maximum and minimum value per stat, runtime add, set and base-max changes
  • Regeneration per stat with rate and delay after damage or use (negative rates decay)
  • Damage multipliers per damage type class, flat armor and a minimum-damage floor
  • Shield stat that absorbs damage before health, own recharge delay, break event
  • Timed effects: damage / heal over time, stat drain / boost, tick interval and duration
  • Status effects with stacks, max stacks and Refresh / Extend / Keep policy
  • Modifiers: add or multiply max and regeneration, add armor, scale damage taken
  • Downed state with bleed-out timer, death, revive with a health fraction
  • Invulnerability window after hits and revives, god-mode toggle
  • Server-authoritative replication with client-side events through RepNotify
  • Automatic hook into engine point, radial and generic damage
  • Hit info: direction, angle, location, bone, instigator and causer
  • Kill credit and assist list within a time window, with player states
  • Fall damage from landing speed for characters, linear or curve scaling
  • Save Vitals / Load Vitals into a SaveGame-ready struct
  • Try Spend Stamina with exhaustion lockout and a sprint drain helper
  • VitalCore.Debug on-screen stats and a Blueprint function library

Platforms

WindowsmacOS

Requirements

  • Unreal Engine 4.27 and 5.8
  • Develop on Windows (Win64)
  • Blueprints and C++

In the download

FileVitalCore.zip
FormatZIP
Size164 KB
Versionv1.0.0
SHA-256706f7c6e87002503…

Personal

$17.00

One non-commercial project

  • 1 activation seat
  • 1 year of updates
  • One end product
  • Non-commercial use
  • Community support
  • 14-day refund window
Read the Personal terms
β˜… Most popular

Commercial

$33.00

Ship paid products

  • 5 activation seats
  • 1 year of updates
  • One paid end product
  • Unlimited end users
  • Priority support
  • Source files
  • 14-day refund window
Read the Commercial terms

Extended

$103.00

Resell & white-label

  • Unlimited activation seats
  • Lifetime updates
  • Unlimited end products
  • White-label & resell
  • 1-hour SLA
  • Seat-free team use
  • 14-day refund window
Read the Extended terms

One purchase per product, no subscription. Each licence comes with a signed key β€” 1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended. Paid licences can be refunded within 14 days from your order page.

  1. v1.0.0Latest
    • Unreal Engine 4.27 and 5.8
    • Blueprint and C++ API, HTML documentation
β€”
β˜…β˜…β˜…β˜…β˜…
No reviews yet
5β˜…0%
4β˜…0%
3β˜…0%
2β˜…0%
1β˜…0%

Be the first to review VitalCore β€” reviews come from customers who bought it, so every one is a verified purchase.

Reviews are for customers who bought VitalCore.
Email supportsupport@alphaxp.net β€” include your order reference.
What support coversInstallation help, download or activation problems, and questions about documented behaviour, for your licence term.
Keys & downloadsLost a key or a download link? Everything you bought is in My library.
Refunds & terms14-day refunds from your order page. Refund policy Β· Personal terms Β· Commercial terms Β· Extended terms

Frequently asked

How do I get the files after paying?

Straight after checkout you land on your order page with the download button and your licence key. A receipt is emailed to you, and every order stays in My library.

Which licence do I need?

Personal β€” One non-commercial project. Commercial β€” Ship paid products. Extended β€” Resell & white-label. The Licences tab compares them side by side.

On how many devices can I activate it?

1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended.

How long do I get updates?

Personal: 1 year of updates, Commercial: 1 year of updates, Extended: lifetime updates, counted from your purchase.

Can I get a refund?

Yes β€” paid licences can be refunded within 14 days, straight from your order page.

Is the download safe?

The file was scanned with ClamAV when it was published. Its SHA-256 checksum is listed under Features β†’ In the download, so you can verify the file you receive.

Do I need an account?

No. Checkout only needs your email. Signing in keeps all your purchases, keys and downloads together in My library.

More like this

From the same studio
$17.00Personal licence Β· VitalCore
✦ Why TechHarbour

Software you own, from the people who built it.

117 products, one studio. Each ships with a signed licence key, an instant download and 14-day refunds β€” and every file is malware-scanned before it goes on sale.