NPSkillEngine


## Inspector shortcut to insert discovered built-in or registered action calls. ... The original license and notice are included in Samples/MiniRpg/ThirdParty/.


by leonliu75


Price History +

NPSkillEngine is an expression-based skill DSL engine for Unity. With a carefully designed game skill domain specific lightweight language focusing on game entities' state changing/reading.

## Data-authored, expression-based skill DSL for Unity.

## Host-agnostic runtime: your game owns combat flow, timing, state, and targeting.

## Serializable Skill, Formula, and reusable Snippet data models.

## Rich expression language: variables, arithmetic, comparisons, assignments, lambdas, lists, member/index access, null-safe access, type/enum references, and break.

## Scoped, ordered skill execution with conditions, probabilities, multi-target evaluation, and shared local-variable executions/pipelines.

## Built-in LINQ style collection, filtering, sorting, aggregation, creation, iteration, and random methods.

## Extensible DSL methods via explicit registration or [SkillMethod] attribute.

## Global game-state integration through IRootObject; injectable deterministic RNG for tests/replays.

## Type and enum registration for use in skill expressions.

## Unity Inspector authoring tools with live syntax and semantic validation.

## Object-wide validation for cross-formula variables, method/type mistakes, and execution-order issues.

## Optional execution tracing for scopes, conditions, probability rolls, operations, breaks, and failures.

## Inspector shortcut to insert discovered built-in or registered action calls.

## Trusted and restricted execution modes, with default-deny capability policies and configurable parse/runtime budgets for external content.

## Complete Mini RPG Package Manager sample with authored skills and a playable deterministic battle.

The engine has a custom lexer/parser, an execution context, and an extensible method registry for driving data-authored game skills. The engine is host-agnostic - it has no dependencies beyond `UnityEngine` and knows nothing about any particular game. You supply the game-specific pieces through extension points.


The engine has a set of .Net LINQ style built-in methods for user convenience. In-context syntax checking, offline object-wide semantic validation tools are also provided.


NPSkillEngine is a relfection-based authoring DSL. Its default exeuction mode is for trusted, designer-authored package assets. User can however set custom restrict policy for security concerns.


Includes an optional Mini RPG sample with a subset of Kenney’s Roguelike Characters pack, licensed under CC0 1.0. Attribution is not required. The original license and notice are included in Samples/MiniRpg/ThirdParty/.