Skip to content

A scriptable object based event and data manipulation framework for Unity

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta
Notifications You must be signed in to change notification settings

richardkopelow/ScriptableObjectFramework

Repository files navigation

ScriptableObjectFramework

This library is based on a talk given by Ryan Hipple. In the talk Ryan goes over creative ways to use Scriptable Objects(SOs) to pass data and fire events between self contained systems. The advantage of using SOs is that they for the most part live in Project space rather than scene space so prefabs are able to reference them.

Event System

  • Define events in the project i.e. PlayerDeath
  • Place Handler scripts on object that listen to events
  • Trigger events with a button click

Variable System

  • Define variables in project space that can be referenced and shared by prefabs
  • Easily switch between SO value storage and hardcoded values
  • Set whether SO variables should save in play mode or not

Installation

Download

  1. Go to the release tab.
  2. Download the version you want.
  3. Unzip it into your Assets folder.

Git Submodules

  1. Add this repo as a submodule. git submodule add https://github.com/richardkopelow/ScriptableObjectFramework.git ./Assets/
  2. Init the submodules. git submodule init
  3. Update the submodules. git submodule update

NuGet

  1. Make a nuget.config file in the Unity Project root
<configuration>
    <config>
        <add key="repositoryPath" value="./Assets/Packages" />
    </config>
</configuration>
  1. Using your favorite NuGet Client, install ScriptableObjectFramework.
  2. Add the Assets/Packages folder to your git ignore.

About

A scriptable object based event and data manipulation framework for Unity

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta

Stars

Watchers

Forks

Packages

No packages published

Languages