[RELEASE] HitMesh Pro – Advanced Shapecast Hitbox System

[RELEASE] HitMesh Pro – Advanced Shapecast Hitbox System

Hello, Roblox Developers!

I’m excited to introduce HitMesh Pro, an advanced, modular hitbox system that leverages shapecast technology for precise, scalable, and high-performance collision detection. Whether you’re developing fast-paced melee combat, precise ranged attacks, or large-scale area effects, HitMesh Pro is designed to meet all your needs!


Key Features

:dart: Dynamic Shapecasting

  • Supports linecasts, boxcasts, spherecasts, and custom shapes.
  • Perfect for handling melee hitboxes, projectile paths, and area-based attacks.

:zap: High Performance

  • Optimized for smooth gameplay, even in environments with heavy combat interactions.
  • Clean and efficient, ensuring minimal lag for large-scale games.

:hammer_and_wrench: Modular Design

  • Easily adaptable for different gameplay scenarios.
  • Configure settings for precision, debug visuals, and more!

:globe_with_meridians: Extensive Support for Combat Systems

  • Create melee, ranged, or explosive hitboxes with ease.
  • Includes utilities for detecting multi-part objects, humanoids, and custom targets.

:eyes: Debugging Tools

  • Visualize hitboxes in real-time for easy tuning and adjustments.
  • Flexible options for enabling/disabling debug visuals.

Getting Started

Installation

  1. Clone the GitHub Repository
    Download the latest version from the HitMesh Pro GitHub repository:
    GitHub Repository

  2. Import to Studio

    • Add the module to your game (recommended location: ReplicatedStorage or ServerStorage).
  3. Require the Module
    Reference HitMesh Pro in your scripts:

    local HitMesh = require(game.ReplicatedStorage.HitMeshPro)
    

Basic Usage

Creating a Simple Melee Hitbox

local part = workspace.Sword
local result = HitMesh:Cast(part, "Box", {
    Size = Vector3.new(4, 4, 4),
    Direction = Vector3.new(0, 0, -1),
    Debug = true
})

if result then
    print("Hit:", result.Instance.Name)
end

Explosive Hitbox

local explosionCenter = Vector3.new(0, 10, 0)
local results = HitMesh:Cast(nil, "Sphere", {
    Position = explosionCenter,
    Radius = 10,
    Debug = true
})

for _, hit in pairs(results) do
    print("Affected:", hit.Instance.Name)
end

Projectile Path

local startPosition = Vector3.new(0, 10, 0)
local direction = Vector3.new(0, -1, 0)
local result = HitMesh:Cast(nil, "Line", {
    Origin = startPosition,
    Direction = direction * 50,
    Debug = true
})

if result then
    print("Projectile Hit:", result.Instance.Name)
end

Documentation

A complete guide to all features, API references, and example scenarios can be found on the GitHub repo:
GitHub Documentation


Use Cases

  • Combat Systems: Melee hitboxes, ranged weapon collisions, area-of-effect attacks.
  • Obstacles: Create dynamic obstacles that respond to players’ movements.
  • Custom Interactions: Detect objects for advanced mechanics like grappling hooks or shields.

Feedback & Contributions

We welcome your feedback and contributions! Submit issues or feature requests directly through the GitHub repository.


HitMesh Pro is available for free! Let’s make combat systems on Roblox more accurate and enjoyable together. :rocket:

Happy developing! :blush:

- Hyperion

11 Likes

ohmygod looks great. Is there a way to use existing parts as hitboxes instead of baking values in the script itself?

Any way of getting a set up .rbxl or editable play place ? … instead of github ?

Thanks

This uses deprecated Roblox API’s so I wouldn’t recommend using it, plus there are other popular hitbox systems that do exist like RaycastHitbox and ClientCast

Nothing wrong with deprecated API, deprecated doesn’t mean bad/unusable.

Lots of popular resources use deprecated API, lots of popular games use deprecated API.

But I do agree on one topic, this module isn’t good.

Why? It’s very bare, not well written or optimized and comparing to other modules is like a child’s toy.

NOT discrediting the OP, this is his work and I appreciate the effort put into this.

But invalidating a script based off deprecated API? seriously?

There was other problems which you have listed that I did not mention. The deprecated part is a valid reason to invalidate as it’s relying on legacy code. Additionally, I was not comparing it to other modules I was simply referring people to alternatives.

2 Likes

Is there a way for the projectile cast to account for bullet drop maybe?