Shiny Stats

Shiny Stats brings Attributes, Stats, Classes, Level & Experience and more into your game!

Easy to use and flexible, Shiny Stats helps you to create a lot of games from Tower Defense to complex RPG games with 0 line of code.

Shiny Stats is 100% configurable using its own user-friendly editor window and can integrate seamlessly with your existing project using a very simple C# API.


  • Attributes to characterize your characters
  • Classes, sets of attributes, for high reusability
  • A Level system
  • Stats to be calculated against the level or not
  • Define your stats values manually by level or using a math formula
  • A complete Experience system to use with levels
  • Easy to setup and to integrate
  • Shiny Stats Window to configure your game (stats, attributes, etc..)
  • Shiny Stats Entity Script to be attached to your characters


  • Online Documentation
  • Documented Source Code
  • Demo included to get started quickly
  • Use cases in the website, reproducing real game examples
  • Support all platforms


Play and review the Shiny Stats demo

Shiny Stats setup in 3 minutes

  1. Create a New Scene
  2. Create a GameObject ShinyStats
  3. Add ShinyStats script to the ShinyStats GameObject
  4. Open Shiny Stats Window
  5. Create an Attack Power Stat
  6. Setup Attack Power stat
  7. Create a GameObject Player
  8. Add ShinyStatsEntity script to the Player GameObject
  9. It's over!
  10. Review Attack power value in the ShinyStatsEntity inspector with current entity level: Review Attack power chart in ShinyStats window:
See more in the Manual section.

Code Example

Get Strength attribute value

// Get the ShinyStatsEntity reference of the entity.
var sse = GetComponent<ShinyStatsEntity>();

// Get Strength attribut.
var str = sse.EvaluateAttribute("Strength");

Evaluate the Attack power stat value

// Get the ShinyStatsEntity reference of the entity.
var sse = GetComponent<ShinyStatsEntity>();

// Evaluate the Attack power stat (at current level).
var atk = sse.EvaluateStat("Attack power");

// Evaluate the Attack power stat (at a specific level).
var atkLvl12 = sse.EvaluateStat("Attack power", 12);

Add experience points

// Get the ShinyStatsEntity reference.
var sse = GetComponent<ShinyStatsEntity>();

// Add experience points. Level-up is automatically handled.
var newExpPts = sse.AddExp(1200);

Use the math expression engine

var expression = "45 * log(5, 10)";

// Evaluate the expression.
var val = ShinyStats.Evaluate(expression);

See more in the Manual section.


Get Shiny Stats