/Flexi

Ability System Framework for Unity

Primary LanguageC#MIT LicenseMIT

Flexi - Ability System Framework for Unity

GitHub tag (latest SemVer) GitHub

  • This repository is for source reference and demo
  • This project is still work-in-progress
    🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜ 90%

Introduction

Flexi is an ability system framework for Unity.

While Flexi has done the general low-level logic:

  • Programmers can directly jump into creating the gameplay ability system.
  • Programmers can customize their task nodes and dicide how they work with the game.
  • Then designers can use the built-in editor to edit ability data.
  • The game finally runs abilities with the built-in runner.

P.S. Yes, it's inspired from Unreal GAS (Gameplay Ability System), but Flexi is created with different concept.

Features

  • Customizable: Focus on your gameplay with user-defined stats, nodes, logics, events, etc.
  • Actor: Base class to hold the stats, abilities and modifiers
  • Built-in ability runners: Start from easy and not make your hands dirty
  • Node-based ability editor: Built with GraphView and UIToolkit
  • Blackboard: Seperate values from graphs and inject from other sources
  • Non-singleton approach: You can have multiple and different systems simutaneously
  • Macro: Reuse your partial graphs (Failed to find GC free approach. Suspend until main feature finished.)

Flexi EditorCard Game Sample 1

Recast SampleReal-Time Sample 1

Resources

Limitations

  • Not support DOTS (and not in roadmap for now)
  • It's a tool for programmers, and recommended to have experienced programming skill

Known Issues

  • Some UX problems in editor.
  • ListView for blackboard might easily broken. (Layout update is struggling to process current layout)