Skip to content

A Unity Game Feel library, made for designers with a big dose of love

License

Notifications You must be signed in to change notification settings

LunariStudios/ShiroiFX

Repository files navigation

ShiroiFX

A library with Game Feel and ease of use, your designers will love you forever

ShiroiFX

This library was made to make creating game feel and effects easily.

Licensed under MIT, feel free to use, contribute, make suggestions and critiques!

Installation

Direct download

  1. Download the latest release available here.
  2. Unzip the files into your Unity project (The /Plugins/ShiroiFX directory is preferred, but not obligatory)
  3. Wait for Unity to import the library and you're good to go

Compiling from sources

  1. Clone the repository.
  2. Install TsukiSuite via NuGet.
  3. Compile using MSBuild.
  4. Include the follow

Features

  • Created to be absurdly easy to use.
  • Ever wanted to affect something with multiple different values and then blend then all together in the final result? We present to you Services!
  • Documented

Quick Examples

Effects

public class Projectile : MonoBehaviour {
    public Effect OnHit;
    public Effect OnShot;

    public void Shoot(MonoBehaviour owner) {
        // TODO: Execute launch here
        // Null safe extension method, only executes if effect is not null
        OnShot.PlayIfPresent(this, includePositionFeature: true);
    }

    // Bla bla bla
        
    private void OnHitSomething(Collision col) {
        // TODO: Apply damage somehow
        var pos = col.contacts.First().point;
        OnHit.PlayIfPresent(this, features: new PositionFeature(pos));
    }
}

Services

var timeController = new GameObject().AddComponent<TimeController>();
var curve = AnimationCurve.EaseInOut(0, 0, 1, 1);
var serviceA = timeController.RegisterContinualService(meta: new ConstantTimeMeta(2), priority: 10);
var serviceB = timeController.RegisterTimedService(duration: 5, meta: new AnimatedTimeMeta(curve), priority: 20);
/* 
 * Services A and B are automatically blended by the   
 * TimeController based on their priorities
 */

Getting Started

Please refer to the Wiki for instructions on how to use ShiroiFX

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

A Unity Game Feel library, made for designers with a big dose of love

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages