
الوصف
Gameplay Moveset System is a complete combat framework for Unreal Engine 5.7. It owns the structural problem — combo state machine, hit windows, replication, input routing — and stays out of the cosmetic and numeric layer (damage, VFX, sound, movement) so it integrates cleanly into existing projects.
Designed in production for fighting games, action-RPGs, and souls-like prototypes. Ships with a visual combo graph editor, a hitbox AnimNotifyState pipeline that runs sweeps on every relevant network role, and Enhanced Input auto-binding so a button press to combo advance just works without per-node hookup.
Core Features
Visual Combo Graph editor: node-based asset that compiles to a fast flat-array runtime representation. Author chains, reset nodes, branch conditions, and transition priorities directly. Auto-compiles on every node-property edit.
Hitbox AnimNotifyState with built-in sweep pipeline: drop "Moveset: Hitbox" on a montage timeline. The plugin runs the sweep or overlap each tick on Authority and Autonomous Proxy, executes the full filter pipeline (per-target cooldowns, max-hits caps, ignore-tags-query, owner exclusion, teleport guard).
Combo Window AnimNotifyState: place "Moveset: Combo Window" on a montage to mark the range where the next-attack input is buffered. The queued input resolves at window end.
Replication out of the box: MovesetComponent is a stably-named replicated sub-object. ActiveSelection (Definition + Mode) replicates atomically. CurrentAttackTag propagates with COND_SkipOwner.
Authority-correct hit detection under coarse server pose tick: same-key registrations coalesce, deferred unregister keeps sweeps firing reliably authority-side.
Action Modules: Blueprint subclasses attached to combo graph nodes, react to event tags (Hit, AttackStarted, custom). NetMode filter (All / Authority / Locally Controlled / Simulated Proxy).
Multi-mode definitions: one MovesetDefinition per weapon TYPE; modes inside (one-handed, two-handed, dual-wield, custom).
Runtime swap API with combo continuity: SetActiveMoveset, SetActiveMode, SetActiveSelection, RequestSelectionSwap. Combo cursor and Enhanced Input bindings survive the swap.
Chooser-driven animation resolution: context-dependent montage selection through UE Chooser tables.
Motion input pattern matching: register fighting-game motions (QCF, DP, custom) on the Input Buffer Component.
Enhanced Input auto-binding: outgoing transitions of the current combo node are bound automatically.
Editor preview viewport: paused-frame debug-draw via FTickableGameObject, single-frame stepping forward/backward.
Project Settings page: UDeveloperSettings panel for project-wide defaults and debug-draw colours.
What This Plugin Does NOT Do
No damage calculation. Listen to OnHit (or attach a Moveset.Event.Hit Action Module) and run your own damage pipeline.
No VFX or sound. Use standard Unreal animation notifies on the montage, or react to OnHit and OnAttackStarted.
No movement, dashes, or camera shake. The events are exposed; the policy is yours.
This is intentional. Every project wants to own the cosmetic and numeric layer. The value of this plugin is the structural plumbing nobody wants to write twice.
Engine Compatibility
Required engine plugins (auto-enabled): Enhanced Input, Gameplay Tags, Chooser. No third-party runtime dependencies.
Networking Notes
Set the character mesh VisibilityBasedAnimTickOption to Always Tick Pose, Refresh Bones on remote-controlled pawns. Without it, the server's pose tick does not fire AnimNotifyState NotifyBegin for off-screen actors and authority-side hit detection silently breaks.





