Caution
A lot changed in v5.0.0. It is recommended to update to v4.4.0 before going to v5.0.0 to avoid issues with component name changes. We're working hard to update the documentation. The components in the documentation are all now prefixed with "Basic". We added more complex variants to allow for multiple damage types and modifiers. Thank for the support!
Check out the Wiki for Documentation and tutorials!
flowchart LR
HitBox
HitScan
HurtBox
Health
HitBox -- detect collision and send **amount** --> HurtBox
HitScan -- detect collision and send **amount** --> HurtBox
HurtBox -- send **amount** and **multiplier** --> Health
Health
component tracks an entity's health and emits signals for various health realted changes.
HurtBox2D
and HurtBox3D
components require a Collision Shape
so it can be detected and is assigned a
Health
component to apply damage and healing when hit.
HitBox2D
and HitBox3D
components require a Collision Shape
to detect collisions with a
HurtBox2D
or
HurtBox3D
to apply DAMAGE
or HEAL
.
HitScan2D
and HitScan3D
components extend RayCast2D
and RayCast3D
to detect collisions with a
HurtBox2D
or
HurtBox3D
to apply DAMAGE
or HEAL
.
itch.io - godot-health-hitbox-hurtbox-hitscan
- Open the
AssetLib
tab in the Godot Editor. - Search for
Health
,HitBox
, orHurtBox
in the search bar. - Click the download button next to the Health, HitBoxes, and HurtBoxes plugin.
- Once the installation is complete, go to
Project
->Project Settings
->Plugins
. - Find the
Health, HitBoxes, and HurtBoxes
plugin in the list and check the box to enable it.
- Add a
Health
node to a Node that needs health (ie.CharacterBody2D
orStaticBody3D
) - Add a
HurtBox2D
node with aCollisionShape2D
to the same Node. - Set the
HurtBox2D
collision layer. HitBox2D
orHitScan2D
- Create a projectile or melee weapon with a
HitBox2D
and set the collision mask to the same layer as theHurtBox2D
collision layer. This will automatically apply damage and healing. - Create a gun with a
HitScan2D
extending from the barrel and set the collision mask to the same layer as theHurtBox2D
collision layer.fire()
needs to be called on theHitScan2D
to apply damage and healing.
- Create a projectile or melee weapon with a
Submit issues to the Github Issues Page