Build Combat Logic, Not State Machines.
The -Ultimate Melee & Skill System- is a production-ready framework designed to bridge the gap between animation and gameplay logic. Instead of hard-coding complex Animator transitions or managing messy state machines, this system treats every attack as a ComboNode (ScriptableObject).
This allows designers to build, reorder, and tweak combo chains purely through data, while keeping the core logic separated from the visual model.
Why this system?
- Logic/Visual Separation: The system uses a "Logic Parent / Visual Child" hierarchy. You can swap your character mesh (skins) instantly without breaking your combo logic.
- Designer Friendly: Adjust "Input Windows" and "Damage Frames" using normalized sliders (0.0 to 1.0). No need to open the Animation window for every tweak.
- Input Agnostic: Powered by an IInputProvider interface. Works out-of-the-box with the Old Input System, but can be connected to the New Input System or Rewired in minutes.
Key Features:
- Node-Based Combo Trees:Create infinite branching attacks ( Light > Light > Heavy) by simply dragging assets into slots.
- "Game Feel" Built-in: Includes Hit Stop (Freeze Frames) and Camera Shake (Frame-based or Duration-based) to give weight to impacts.
- Smart Auto-Targeting: "Soft Targeting" logic automatically rotates the player towards the nearest enemy during attack execution.
- Dynamic UI Support: Visual Type system (X/O icons) and Event Hooks (OnComboStepChanged) make building HUDs and Combo Counters trivial.
- Floating Damage Numbers: Integrated high-performance UI spawning using TextMesh Pro.
- Production Content Included: Comes with 39 high-quality animations pre-configured into 5 distinct combo styles.
Workflow: How to add a new move?
1. Right-click and create a ComboNode
2. Enter the Animation State name and define the Fluidity Windows (Input Start/End).
3. Add it to the "Possible Links" list of a previous node.
4. Done. The system handles the transition logic automatically.
Code Access:
Full C# source code is included. The system is designed with extensibility in mind using interfaces like IDamageable and IInputProvider.