When you have worked with a game engine for as long as we have, you develop a rather large repository of completed projects, proof of concepts, demos, unfinished ideas, tech tests, etc. The question is what do you do with all of this code? Sure, some of it needs to be kept private, but why not release things out into the wild for others to use and learn from. This is what our intention is with Hydrogen; to make public things that may help other developers make awesome things happen. We won’t be releasing the source code to any of our games (not yet atleast), but instead will make an effort to release and further develop some of these fundamental building blocks that we have created.
While I know I had promised to post a tutorial on how to use Photon this past friday, but we ran into some connectivity issues with the recent weather in the area and then when I went to actually sit down and finish writing the post I found myself more drawn to the recent decisions made around this direction with Hydrogen and simply couldn’t not talk about it.
There will be two ways of getting a hold of Hydrogen.
The first and most up-to-date method will be to access the Hydrogen public repository over on GitHub. This is a ‘live’ version of the codebase as it gets developed and updated.
The second and most user-friendly method will be to download Hydrogen from the Unity Asset Store (for free).[link will be provided once it's approved]
Since Hydrogen is a free release you need to understand first and foremost that it is just that, free. We cannot dedicate many resources to addressing “how do I do this” type questions. We will try to make sure the included examples contain enough information to explain how something works, but the finer details are in the comments.
We are however interested in technical bugs, as moving forward we will be trying to merge many generations of our core systems into this and will want to make sure we have a streamlined offering for everyone as time goes on. With that in mind, we ask that you file issues & enhancements on the GitHub powered Issue Tracker.
The obvious question is “what are you going to release next?”, and that answer isn’t as simple as we would have hoped. We have close to 6 years of code related to Unity projects, of which much of it was build on top of Hydrogen at a given point in time (yes, we’ve been using Hydrogen as a framework for that long). The issue we’re having is much of that older code could and should be optimized a bit before we release it out into the wild. There is also a need to skim over what functions we are using and if they have been depreciated; a particular example is how Unity now has an array utility helper class. It’s already been tasked to revisit our own help class and depreciate those functions. I think the next system that is going to be out of the incubator per say will be a foley system, or maybe our networking subsystem. I guess it’s really what we can easily add that is going to be most helpful for people. Any requests for features? You’d be surprised the number of subsystems we already have coded.