You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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!
Documentation
Check out the Wiki for Documentation and tutorials!
Process and Data Flow
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
Loading
Health
Health component tracks an entity's health and emits signals for various health realted changes.
Hurtbox
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.
Hitbox
HitBox2D and HitBox3D components require a Collision Shape to detect collisions with a HurtBox2D or HurtBox3D to apply DAMAGE or HEAL.
HitScan
HitScan2D and HitScan3D components extend RayCast2D and RayCast3D to detect collisions with a HurtBox2D or HurtBox3D to apply DAMAGE or HEAL.
Search for Health, HitBox, or HurtBox 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.
Usage
Add a Health node to a Node that needs health (ie. CharacterBody2D or StaticBody3D)
Add a HurtBox2D node with a CollisionShape2D to the same Node.
Set the HurtBox2D collision layer.
HitBox2D or HitScan2D
Create a projectile or melee weapon with a HitBox2D and set the collision mask to the same layer as the HurtBox2D 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 the HurtBox2D collision layer. fire() needs to be called on the HitScan2D to apply damage and healing.