MeleeSwingCustomization

v1.4.3·Updated 2026-04-22

Adds additional melee customization for devs.

About this mod Author’s original text

MeleeSwingCustomization

Does not require MTFO by default to allow other plugins to use it for QoL.

Customization (Requires MTFO)

Reads custom files under Custom/MeleeSwingCustomization. You can customize the hitbox location for swings (i.e. the attack sphere) and pushes, set capsule hitboxes for swings, and adjust the speed of swing/push animations. Speed adjustments automatically scale attack timings (i.e. MeleeAnimation times). A template file is generated on game launch if the folder does not exist. Files support LiveEdit and immediately apply changes on save. They have the format:

[ // Can contain multiple blocks

{

"ArchetypeID": 4, // MeleeArchetypeID of the target weapon

"Name": "Improved Bat", // Purely for organization

"AttackOffset": "(0 0.55 0)", // Position offset for the attack sphere. null uses the original.

"PushOffset": null, // Position offset the push sphere. null uses the original.

"LightAttackSpeed": 1, // Speed modifier for light attacks/hits

"ChargedAttackSpeed": 1,// Speed modifier for charged attacks/hits

"PushSpeed": 1 // Speed modifier for pushes

"AttackSphereCenterMod": 1.9; // Modifier on attack sphere radius when the hitbox is at the center of the screen.

},

]

AttackOffset also supports capsule hit detection. To use it, specify 2 or 3 offsets. The first specifies the position offset for the attack sphere, while the next two specify the start and end for the capsule, respectively. If a third offset is not specified, the capsule end is set as the attack offset. For exmaple, this makes a capsule hitbox from (0, -0.2, 0) to (0, 0.55, 0):

"AttackOffset": "(0 0.55 0) (0 -0.2 0)"

AttackOffset also supports a larger object definition for further customization:

"AttackOffset": {

"Offset": "(0 0.55 0) (0 -0.2 0)", // Position offset for the attack sphere/capsule.

"EntityRayLengthAdd": 0, // Additional length of the entity-only ray, combined with CameraDamageRayLength. Ignored if 0.

"EntityOffset": null, // Position offset for the entity-only attack sphere.

"EntitySize": 0, // Radius of the entity-only sphere. 0 uses AttackSphereRadius.

"EntityUseCenterMod": true, // Applies the "AttackSphereCenterMod" bonus to EntitySize.

"CapsuleOffset": "(0 -0.2 0)" // Parallel field to Offset that specifies only capsule offsets.

// Useful if you don't want to modify the attack sphere offset.

"CapsuleUseCamFwd": false, // Capsule uses CameraDamageRayLength + EntityRayLengthAdd to compute capsule length.

// Starts at the first capsule offset, drawing towards the second.

// If none are specified, draws from (0, 0, 0) to the attack offset.

"CapsuleCamFwdAdd": 0, // Modifier added with CameraDamageRayLength to compute capsule length.

"CapsuleSize": 0, // Radius/size of the capsule. 0 uses AttackSphereRadius.

"CapsuleUseCenterMod": false // Applies the "AttackSphereCenterMod" bonus to CapsuleSize.

"CapsuleDelay": 0 // Delay after DamageStartTime before the capsule becomes active.

// Can use an object format to adjust specific attacks, e.g.

// { "Light": 0.05, "ChargedLeft": 0.1, "ChargedRight": 0.2 }

}

Short Guide to Melee Hitboxes

Melee follows a 3-step process:

  • Direct Hits
  • Hits whatever is being looked at within CameraDamageRayLength (MeleeArchetype) distance.
  • If something is being looked at within said distance, no other hitboxes can be active.
  • Attack Sphere
  • Centered on the attack offset, hits any enemy/lock within AttackSphereRadius (MeleeArchetype) of the offset.
  • View to Attack Offset
  • Checks for hits on a line from the player's viewpoint to the attack offset.
  • Hits enemies/locks if AttackSphere hit something, otherwise hits anything.

Capsule hit detection adds an additional 4th step that functions identically to Attack Sphere (but uses a capsule instead).

Examples

Small wall hitbox, normal entity hitbox

  • Lower CameraDamageRayLength and AttackSphereRadius and move AttackOffset closer
  • Set EntityRayLengthAdd to add up to the intended ray length
  • Set EntityOffset a

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.

Install locations vary a lot between mods — the bundled readme is the most reliable guide.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack_GTFODinorush-ModifierAPI

File & checksum

Filename
MeleeSwingCustomization-1.4.3.zip
File size
42.5 KiB