kerwinzxc / Flexi

Ability System Framework for Unity

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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
    🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜ 70%

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
  • Macro: Reuse your partial graphs
  • Blackboard: Seperate values from graphs and inject from other sources
  • Non-singleton approach: You can have multiple and different systems simutaneously

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

TODO

  • Support undo/redo for the editor
  • Better implementation for Status & Aura
  • Enable/Disable abilities
  • Add Examples: Need to show how to implement each common machanic, to lower the learning curve.

About

Ability System Framework for Unity

License:MIT License


Languages

Language:C# 97.3%Language:ShaderLab 2.3%Language:HLSL 0.4%