Skip to content

geigi/UnityEnhanced

 
 

Repository files navigation

UnityEnhanced

A set of useful tools aimed at easy and powerful architecture in Unity3D based on ScriptableObjects! In short, you use references to asset files rather than wiring up all objects in your scene directly. This leads to loosely coupled modules in your scene and code that is much easier to debug and maintain. See this great talk of Ryan Hipple at the Unite 2017 to get introduced to the concept. This library includes an extended implementation of the tools presented in the talk and much more.

MIT Licence Open Source Love Gitter Chat

Most notable features

  • A State Machine
    • Utilize the power of ScriptableObjects for State Machines
    • Very flexible usage
    • Includes handy Listener components
    • Custom Editors for fool-proof usage
    • Works with prefabs
    • Photon Networking Integration
  • An Event System
    • Embrace the power of ScriptableObjects for Events
    • Keep your systems perfectly separated
    • Wire things up in the editor
    • Write less code
    • Photon Networking Integration
  • A Variables System
    • Rise with the power of ScriptableObjects for shared Variables
    • Save your data to an asset file
    • Dynamically reference your data from scripts
    • Share data of multiple objects
    • Override data when needed
  • Cached Resources
  • Readonly Attributes
  • Many useful improvements
    • Instantiate prefabs by alt-clicking them
    • Editor Extensions for ReorderableLists, CustomDrawers, Buttons, ...

Open particular folders for detailed description.

Requirements

  • Unity 2017.1 or later
  • .NET 4.6 or above

Setup

Installation as Git submodule

It is recommended to install the package as a git submodule in your project.

In Sourcetree:

  • Click Repository > Add Submodule ...
  • As Source Path / URL you specify:
git@github.com:hendrik-schulte/UnityEnhanced.git
  • Set Local Relative Path to:
Assets/UnityEnhanced
  • Pull submodule

Manual Installation

Copy content of this repository to a folder named UnityEnhanced inside of your asset folder.

Assembly Definition

The package includes Assembly Definition Files. Since the Photon Networking package is optional, you may need to add or remove Photon as reference in the assembly definition. Or you can simply delete all .asmdef files.

More to come soon

Copyright (c) 2018, Hendrik Schulte

About

A set of useful tools aimed at easy and powerful architecture in Unity3D.

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%