BSGTools

= BSG Tools =

BSGTools (BirdStreet Games Tools for short) is a series of systems, components, utilities and libraries for Unity, all of which can be found on this single convenient wiki page.

NOTE: BSGTools used to be one large package, and has since been moved into several individual repositories.

Tutorials can be found at the bottom of this page.

GitHub Repositories
https://github.com/michaeln-bsg/MonoEvent

https://github.com/michaeln-bsg/InputMaster

Project Goals
BSGTools aims to be a swiss army knife for anyone using Unity:


 * Both beginners and highly advanced users alike should find the components of this project useful.
 * No single entity of the project should be unuseful, boilerplate, reinventing the wheel, or included "just because".
 * When importing BSGTools into your project, it should feel fluid and component based. Any entity that is dependent on anything outside of Unity Basic should be packaged into a .unitypackage file and stored in the BSGTools/Extra Packs directory.

Project Restrictions
While BSGTools is an open project for anyone to contribute to, there are some restrictions so that the project goals are not compromised:


 * BSGTools is strictly in C#, the intended language for Unity. Clones of the BSGTools repositories for Unityscript or Boo translations are completely acceptable, but these will not be incorporated into the repositories linked above.
 * Everything entity in the project must have an open source license that allows for distribution, and is permitted for use in a paid-for game or application.
 * If an addition has no benefit for Unity, it will not be included.

Readme
The official readmes for each module can be found at the repositories linked above. These contain more detailed explanations regarding what is included, discussion of licensing, and more.

Notable Modules

 * InputMaster - An overhaul of Unity's Input system.
 * MonoEvent - A coroutine based event system, for those who are used to doing high level scripting for their game events.

Module Tutorials
Due to the nature of this project being comprised of a mixed bag of components, scripts and tools, every effort has gone into making sure that the layout of the project makes sense. What is not included in the project are tutorials regarding the individual 'modules' that the project includes:

InputMaster

 * InputMaster Primer - A beginner's tutorial to using InputMaster. This tutorial goes over the basics of setting up controls and a master, then using that to control an object in game.
 * InputMaster Xbox 360 Controls - Following the same difficulty level as the Primer tutorial, this tutorial goes over the native Xbox 360 controller support.
 * InputMaster CombinedOutputs - You've got a game with Keyboard/Mouse AND Xbox 360 Controller Support. CombinedOutputs make using multiple input devices easy.
 * InputMaster uGUI Integration - Integrating your Control setup into Unity 4.6's brand new UI system.

MonoEvent

 * MonoEvent Primer - A beginner's tutorial to using MonoEvent. This tutorial goes over the basics of creating a new event, setting up the tasks, and execution.
 * MonoEvent Advanced - A discussion of more advanced topics.