Skip to content

cluttered-code/godot-health-hitbox-hurtbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Godot Health, HitBoxes, HurtBoxes, and HitScans

Godot LICENSE Current Release actions Downloads

Live Example ko-fi

Health Health

Health component tracks an entity's health and emits signals for various health realted changes.

Health inspector

HurtBox2D Hurtbox HurtBox3D

HurtBox2D and HurtBox3D components require a Collision Shape so it can be detected and is assigned a Health Health component to apply damage and healing when hit.

HurtBox2D Inspector

HitBox2D Hitbox HitBox3D

HitBox2D and HitBox3D components require a Collision Shape to detect collisions with a HurtBox2D HurtBox2D or HurtBox3D HurtBox3D to apply DAMAGE or HEAL.

HitBox2D Inspector

HitScan2D HitScan HitScan3D

HitScan2D and HitScan3D components extend RayCast2D and RayCast3D to detect collisions with a Hurtbox2D HurtBox2D or Hurtbox3D HurtBox3D to apply DAMAGE or HEAL.

HitScan2D Inspector

Live Example Demonstration

itch.io - godot-health-hitbox-hurtbox-hitscan

Installation

Asset Library Installation

  1. Open the AssetLib tab in the Godot Editor.
  2. Search for Health, HitBox, or HurtBox in the search bar.
  3. Click the download button next to the Health, HitBoxes, and HurtBoxes plugin.
  4. Once the installation is complete, go to Project -> Project Settings -> Plugins.
  5. Find the Health, HitBoxes, and HurtBoxes plugin in the list and check the box to enable it.

Usage

Player Structure

  1. Add a Health node to a Node that needs health (ie. CharacterBody2D or StaticBody3D)
  2. Add a HurtBox2D node with a CollisionShape2D to the same Node.
  3. Set the HurtBox2D collision layer.
  4. 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.

Issues

Submit issues to the Github Issues Page