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 stats mechanisms without coding from scratch all the mechanism it involves.

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.

Features

  • 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
  • A Modifier system to reproduce buffs, de-buffs, wearable effectsNew in v1.1 !
  • Global Variables to handle static valuesNew in v1.2 !
  • A Meta Analysis panel to help balancing the gameNew in v1.3 !

Support

Overview

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 attribute.
    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.

Screenshots

Get Shiny Stats