GAS Ability Task Registry

GAS Ability Task Registry – Unreal Engine Plugin

Welcome to the GAS Ability Task Registry, a free, open-source plugin for Unreal Engine 5. This plugin provides a growing library of reusable, community-driven UGameplayTask-based ability tasks designed specifically for the Gameplay Ability System (GAS).


📦 Plugin Overview

Many GAS developers often recreate the same AbilityTasks across projects. This plugin solves that by offering a centralized, plug-and-play library of useful tasks.

✅ Key Features

  • 📚 Collection of reusable GAS AbilityTasks

  • 🔁 Minimize redundancy across projects

  • 🧰 Blueprint & C++ ready

  • 🤝 Open for community contributions

  • 🧩 100% plugin-based – easy to integrate

  • 🎯 Fully compatible with Unreal Engine 5.x


🚀 Getting Started

You have three options for installing and using the plugin:


  1. Go to the Unreal Marketplace page for GAS Ability Task Registry (Marketplace link will be available once published)

  2. Click "Add to Project"

  3. Open your Unreal project and go to Edit > Plugins

  4. Ensure GAS Ability Task Registry is enabled

  5. Restart the editor if prompted


🔹 Option 2: Clone the GitHub Repository

git clone https://github.com/m-ahmed-elbeskeri/GAS-Ability-Task-Registry.git
  • Place it inside your project's Plugins/ folder

  • Regenerate project files (for C++ projects)

  • Rebuild and enable the plugin in Unreal Editor


🔹 Option 3: Download ZIP from GitHub

  1. Click “Code” > “Download ZIP”

  2. Extract to your project’s Plugins/ folder

  3. Restart the editor and enable the plugin


📘 How to Use

After enabling the plugin:

  1. In your GAS ability class, call SpawnAbilityTask<> using any available task

  2. Bind events like OnCompleted, OnCancelled, or custom delegates

  3. Tasks are available in both Blueprint and C++

🧠 Tip: Each task includes in-code documentation and Blueprint nodes


📂 Plugin Directory Structure

markdownCopyEditYourProject/
└── Plugins/
    └── GASAbilityTaskRegistry/
        ├── Source/
        │   └── GASAbilityTaskRegistry/
        └── GASAbilityTaskRegistry.uplugin

📋 Included Tasks

Task
Input Pins
Output Pins
Description
Key Features

OnTickEvent

• OwningAbility: Self reference •TaskInstanceName: Optional name

•TickEventReceived: Event with DeltaTime parameter • Return Value: Task reference

Fires an event every frame while the ability is active

• Precise timing for continuous effects • Lightweight alternative to timelines • Ideal for incremental changes

SetInputLockState

• OwningAbility: Self reference • bShouldLock: Toggle input lock • LockType: Timed/Permanent • Duration: Lock time in seconds • bLockMove: Block movement • bLockLook: Block camera

•OnInputLockStateChanged: Fired when lock state changes • Return Value: Task referenc

Controls player input access during ability execution

• Independent control of move/look inputs • Auto-releasing timed mode • Perfect for channeled abilities

InstantMoveToLocation

• OwningAbility: Self reference •TargetLocation: Destination vector •TargetRotation: New rotation • bSweep: Check for collisions •bStopAtCollision: Halt on impact • bSetRotation: Apply rotation

•OnInstantMoveCompleted: Success event • OnFail: Failed teleport event • Return Value: Task reference

Teleports actor to location with optional collision checks

• Built-in collision handling • Vector-based targeting • Success/failure feedback

MoveInDirectionTask

• OwningAbility: Self reference •TaskInstanceName: Optional name • Direction: Movement vector • Interval: Input frequency • Duration: Total movement time

• Return Value: Task reference

Applies continuous movement input in specified direction

• Automatic vector normalization • Configurable duration • Timer-based movement pulses

MoveRandomlyTask

• OwningAbility: Self reference • TaskInstanceName: Optional name •DirectionChangeInterval: Time between direction changes • TotalDuration: Total movement time

•OnMoveRandomlyEnd: Completion event • Return Value: Task reference

Makes character move in changing random directions

• Randomized direction generation • Configurable direction change timing • Great for disorientation effects

PlayMontageAndWaitForEvent

• OwningAbility: Self reference •TaskInstanceName: Optional name • MontageToPlay: Animation • EventTags: Tags to listen for • Rate: Playback speed • StartSection: Named section •bStopWhenAbilityEnds: Auto-stop •AnimRootMotionTranslationScale: Motion scale

• OnCompleted: Normal end • OnBlendOut: Blend finished • OnInterrupted: Premature stop • OnCancelled: Manual cancel • EventReceived: Gameplay event • Return Value: Task reference

Coordinates animation playback with gameplay events

• Complete montage lifecycle events • Gameplay event filtering • Perfect for attack combos

MoveToTarget

• OwningAbility: Self reference •TaskInstanceName: Optional name • TargetActor: Destination actor •AcceptableRadius: Completion distance

• OnSuccess: Reached target • OnFailure: Path unavailable • Return Value: Task reference

Uses pathfinding to navigate to target actor

• NavMesh integration • Automatic path recalculation • Distance-based completion

More tasks are actively being added!


🙌 Contributing

Want to share your own custom AbilityTask?

  1. Fork the GitHub repo

  2. Add your task to Source/GASAbilityTaskRegistry/

  3. Submit a Pull Request

No need to fully polish your submission — consistency tweaks will be handled during review.


🧪 Testing

To test any task:

  • Add it to a UGameplayAbility via SpawnAbilityTask

  • Use print/logs or delegate bindings to verify expected behavior

  • Tasks are Blueprint-exposed by default for quick prototyping


🧾 License

This project is licensed under the MIT License – free to use in any commercial or personal project.

Full license text available on GitHub.


📬 Support & Feedback


Last updated