Skip to content

Latest commit

 

History

History
73 lines (53 loc) · 3.8 KB

README.md

File metadata and controls

73 lines (53 loc) · 3.8 KB

Flexi - Unity Ability System Framework

GitHub tag (latest SemVer) GitHub Discord

  • This project is still work-in-progress
  • Sorry that some docs are not updated yet.
  • Though Flexi is still in development, it's actually in usable state, and already worked on a real project. You can join the Discord Server if you like to discuss about Flexi.
  • 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

Installation

Download repository and Export unitypackage

  1. Donwload and unzip. Choose the latest tag for stable state.
  2. Open this Unity project. (Dev in 2021.3)
  3. Export the package with Tools/Export UnityPackage. This excludes unnecessary assets.
  4. It will show you the result package, then you can import this to your project.

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)