Skip to content

PhysaliaStudio/Flexi

Repository files navigation

Flexi - Ability System Framework for Unity

GitHub tag (latest SemVer) GitHub

  • Recently work on v0.12 with lots of breaking changes, but docs are not updated yet.
  • v0.11 is ready to deprecated, read from main branch instead if you're interested.
  • This project is still work-in-progress
    🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜ 90%

What is Flexi?

Flexi is an ability system framework for Unity.

The basic concept is:

  • Flexi has done some general low-level logic.
  • Programmers can directly jump into extend with Flexi, and create your gameplay ability system.
  • Then designers can use the graph view editor to create/edit ability.
  • At runtime, load these abilities and run with built-in runner.

P.S. Flexi is inspired from Unreal GAS (Gameplay Ability System), but not the same concept.

Flexi Scope

Features

  • Customizable: Flexi only do low-level things. So you have space to implement your own gameplay.
  • Stat & Modifier: With stat refresh process, modify unit stats with abilities.
  • Built-in ability runners: Start from easy and not make your hands dirty.
  • Node-based ability editor: Built with GraphView and UIToolkit.
  • OOP approach: Not rely on Unity. Not singleton approach.
  • 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. (This is full OOP approach.)
  • It's a tool for programmers. Recommend to have experienced programming skill.

TODO List

[ ] Finish Macro [ ] UX Optimize [ ] Better Samples [ ] ListView for blackboard might easily broken. (Layout update is struggling to process current layout)