Repolode
m969

m969/EGamePlay

A lightweight Unity combat and skill framework built on the Entity-Component pattern, with configuration via ScriptableObject or Excel tables.

Stars
2,401
Forks
544
Open issues
1
Last commit
26 days ago

What is it?

EGamePlay is a combat and skill framework for Unity games. It models combat entities, abilities, skills, buffs and status effects as components, so gameplay logic can be composed and extended without hard-coding each skill.

Skills can be configured in two ways: through ScriptableObject assets edited with Odin Inspector tooling, or through Excel tables exported to JSON and config classes. A skill is defined as an ability config plus an execution object that controls the on-screen presentation, and is attached to a CombatEntity and cast through a SpellComponent.

Version 3.0 refactors the runtime code around the EcsNode framework, separating logic from data and business logic from view logic. The repository includes an RPG demo and a skill execution-link editor scene.

Key features

  • 01Entity-Component design separates skill logic from data and presentation.
  • 02Skills and buffs can be configured with ScriptableObject assets or Excel tables.
  • 03Includes a skill editor window and an execution-link debugging scene.
  • 04Ships with an RPG demo scene.
  • 05Can be ported into existing Unity projects or the ET framework.

Use cases

  • Building skill and ability systems for action RPG or MMORPG combat.
  • Implementing buffs, debuffs and status effects in a Unity game.
  • Letting designers author skills in Excel tables or ScriptableObject assets.

Quick start

  1. 1

    Open the project in Unity 2022.3.53f1 (version from README badge)

  2. 2

    Run the RpgExample scene to see the RPG demo

  3. 3

    Run the ExecutionLinkScene scene to debug and edit skills

Things to know

  • Requires paid plugins (Odin Inspector, DOTween Pro, Animancer Pro) that the project uses.
  • Targets Unity 2022.3.53f1 and is marked work-in-progress in the README.
  • Porting to other Unity projects is not seamless and may need manual conflict fixing.
  • Most documentation and discussion is in Chinese.

In collections

Topics

#unity#gameplay#skill-system#buff#rpg#entity-component#scriptableobject#game-development#editor#framework

FAQ

What is EGamePlay?
A lightweight Unity combat and skill framework built on the Entity-Component pattern, with configuration via ScriptableObject or Excel tables. EGamePlay is a combat and skill framework for Unity games. It models combat entities, abilities, skills, buffs and status effects as components, so gameplay logic can be composed and extended without hard-coding each skill.
Is EGamePlay free to use? What license does it have?
EGamePlay is open source under the MIT license. Check the license terms before using it in commercial products.
Is EGamePlay still maintained?
Actively maintained. The last commit to EGamePlay was on Oct 12, 2026.
What can I use EGamePlay for?
Building skill and ability systems for action RPG or MMORPG combat. Implementing buffs, debuffs and status effects in a Unity game. Letting designers author skills in Excel tables or ScriptableObject assets.
How do I install EGamePlay?
Open the project in Unity 2022.3.53f1 (version from README badge) Run the RpgExample scene to see the RPG demo Run the ExecutionLinkScene scene to debug and edit skills
Where can I get EGamePlay?
The source code and installation instructions are on GitHub: https://github.com/m969/EGamePlay

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects

Allocation-free async/await integration for Unity that makes Unity AsyncOperations, coroutines and events awaitable, running on PlayerLoop without threads.

Developer Tools#unity#csharp#async-await
11.3K+14 this week1KC#MITUpdated last month