Hydrogen has a few easy ways to quickly get started, each one appealing to a different skill level and use case. Read through to see what suits your particular needs.

Unity Asset Store

The fastest way to get Hydrogen into your project is to download the packaged version from the Unity Asset Store. There are currently two Hydrogen packages available on the Unity Asset Store. The Hydrogen package contains the framework in its entirety, but without any example content. The Hydrogen Examples package contains all of the example content, plus some other demo content meant to demonstrate how the framework may be used.

Get Hydrogen Get Examples

GitHub

It's only natural that you would use GIT as it is our preferred way of getting access to Hydrogen.

Clone & Copy

You can clone a local copy of the repository that you simply copy files from into your project.

This method is a bit messy, but for some people it works. Just make sure that you do not use this method into the middle of your project. If you are using any of the version control systems in Unity this can cause some major grief.

$ git clone https://github.com/dotBunny/Hydrogen.git Hydrogen

Submodule For The Win

This is by far the best way in our opinion to get Hydrogen into your project, and allows for it to stay up-to-date the easiest. If you are using a GIT client you will need to refer to how that particular client allows you to add submodules.

If you are feeling awesome, which you must be, as your wanting to use Hydrogen, then this is the option for you.

$ git submodule add https://github.com/dotBunny/Hydrogen.git "Assets/Stock Assets/Hydrogen"

By using this method, you can place the framework exactly where you want it to go in your project and maintain your own project folder structure.

Additional Help

We found a great little tutorial on submodules in GIT by a fellow named Jon Cairns. If you are having problems you really should have a look at it for some additional pointers.

Release Archive

GIT allows us to tag points in the repository, and through a nice feature from the folks at GitHub, we can treat some of those tags as release points, allowing you to access previous releases of Hydrogen. We are not sure why you would, but since it is available why not make it known about, right?

Old Versions Not Supported

It goes without saying that any of the previous versions we cannot support. If there is a problem, try looking at the repository for any included fixes in that area of the framework.

It doesn't matter what level of developer or artist you are; these features are going to make developing with Unity easier and more efficient.

Features

CORE Audio Stack A highly optimized 2D AudioClip pooling system. The only way to handle playing 2D sounds like ambience, music, button clicks, etc.
CORE Debug Somebody order an in-game console? We got you covered.
CORE Object Pools A critical optimization for mobile operations. If you are not using an object pooling system these days, you are living in the past.
CORE Web Pool No more building coroutines to handle your web postings, you give it a destination, payload, and a callback; it handles the rest.
PERIPHERALS Input A fully functional input management system that allows for adding, removing, updating, loading, and saving all in real-time.
PLUGINS TestFlight An automatic installation paired with a robust implementation.
SERIALIZATION INI Incase you needed to access this archaic method of storing key values.
SERIALIZATION JSON Everyone's favourite web payload model.
THREADING Jobs An easy to use base class system used for spreading processing across numerous threads or the ThreadPool.
THREADING Mesh Combiner It's a Multi-Threaded MeshCombiner that handles everything and the kitchen sink and spits out beautifully optimized meshes.
Class Library Documentation We have parsed and scraped the Unity documentation to create a set of class library documentation (MonoDoc & XML formats) that can be used with MonoDevelop, Visual Studio, and Xamarin Studio, to name a few possibilities.
Helper Functions A wide variety of helper functions that have come in useful over years of development makes programming for Unity even simpler.

Folder Structure

The framework is organized into numerous sub-folders to aid in keeping things easily found, and in order. At its root you will find the following folders:

Components

Here is where you find some pre-made drag and drop components to drop on to your GameObjects, or you can add them by the quick add button. We've prefixed all of our component based scripts with 'h' so that they can be easily found and identified.

Editor

Some fun swag for the Unity Editor, nothing major though.

Extras

This is kind of a storage folder for things that our scripts will utilize automatically for you. We would advise not playing with this folder, hell any folders really, that much.

Plugins

This is where bulk of the code is kept. It is isolated in its own namespace as to not interfere with anything else.

Shaders

Pretty self explanatory don't you think?

Vendors

If we've included something to make your life easier that we didn't particularly make or contribute to; this will be its home. Another way of thinking of what goes here is to associate it to third party additions.

Third Party

As developers we often recognize the excellence of our peers and their efforts in creating amazing products. Sometimes, it makes sense not to try and reinvent the wheel and to stand on the shoulders of others' work. We've included some libraries from other wonderful developers, and have created wrappers to allow for their use in Unity in an amazingly simple workflow.

TestFlight

TestFlight iOS 2.2.1 Android 1.4

Allows for rapid deployment of betas, crash reporting and analytics.

With thousands of Unity users already having experienced the benefits of the old MonoDevelop.Unity project, this is the spiritual successor that project.

Summaries
Methods
Methods #2

There is something to be said about being able to see what a method does from within your chosen IDE; without having to go look it up online or in some external documentation repository. We've rewritten our old documentation crawler from the ground up to scrap and parse even more details from Unity's provided documentation in order to produce the most complete 'third party' documentation files possible.

Bundled MonoDevelop Does Not Work

Unfortunately, the currently bundled version of MonoDevelop with Unity has had it's MonoDoc add-in crippled. Without this functionality it is not possible to get the documentation to popup in editor. We've made Unity aware of this issue and can only hope that it will return in future releases.

MonoDoc Based

Both MonoDevelop and Xamarin Studio can use the MonoDoc source repository to provide documentation for classes inside of their IDEs. The general idea here is to put the three source files (Unity.zip, Unity.tree and Unity.source) from the Extras/MonoDevelop folder into the most recent Mono.framework's MonoDoc source folder.

On a Mac, the location should look something like this:

/Library/Frameworks/Mono.framework/Versions/Current/lib/monodoc/sources

On a PC, the location should look something like this:

C:\Program Files\Mono-1.2.6\lib\monodoc\sources

If you do this correctly the documentation should automatically appear the next time that you launch your IDE of choice and are working with a project where any of the Unity class libraries are referenced. Enjoy! You would not believe how incredibly handy this is to have, and how much you will miss it when you do not have it.

Visual Studio

Installing the xml based documentation is rather straight forward when it comes to Visual Studio, all you need to do is copy the Unity.xml file from the Extras/Visual Studio folder into where Unity keeps its referenced libraries, and after that Visual Studio takes care of the rest. You will need to move them to a folder similar, if not exactly the same as this:

C:\Program Files (x86)\Unity\Editor\Data\Managed

Just like that, you will have access to the documentation while you type.

We've created some example content for Hydrogen that can be found in the Hydrogen Examples package on the Unity Asset Store.

Unity Asset Store GitHub Project

These in no way represent a complete overview of the features that Hydrogen offers, they are merely test scenes that have been setup to make sure that certain components work and some demo implementations used in real world applications.

Audio Stack

Audio Stack

Tired of having to have AudioSources around to play all those little menu effects?

Debug Console

Debug

A tightly integrated suite of debugging tools demonstrated like a boss.

Input Management

Input Management

A nice drop in solution to managing inputs within Unity showing dynamic changes at runtime.

Mail Chimp

Mail Chimp

Utilizing the Web Pool system, this example sends a JSON call and handles it's results back when it arrives.

Mesh Combiner

Mesh Combiner

Unity's built in combiner giving you the blues? Need something with a little more pep? Here is your solution.

Object Pooling

Object Pooling

A quick example of how to easily access object pools efficiently and dynamically.

Hydrogen is released under the MIT license and is copyright 2014 dotBunny. All source files contain the following header, with the exception of the Unity Asset Store package as it falls under a separate license set forth by Unity.

//
// [FileName]
//
// Author:
//       [Author] <[Authors Email]>
//
// Copyright (c) 2014 dotBunny Inc. (http://www.dotbunny.com)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.