Why You Probably Don’t Need a Source Code License
More and more people and companies are realizing how Unity can help them unleash their creativity and concentrate on making their games rather than on making their games work. However, some people are still hesitant to try out Unity (despite our free 30 day trial for Mac and Windows) because they think the lack of access to the Unity source code will inherently limit their creativity and only let them create certain types of games. This is a gross misconception.
Myth: The lack of source code access to an engine is limiting in what kind of game it is possible to create.
First of all, it is possible to buy a source code license for Unity (contact us for details), but the vast majority of games don’t need it and can be made using vanilla Unity Indie or Unity Pro.
Creativity with using a certain tool is not linked to availability of the source code of that tool. Users of Photoshop don’t complain that they are limited in what images they can create because they don’t have the Photoshop source code, and the same goes for users of 3ds Max or Maya, or most other creative tools.
Unity is not limited to create any particular type of game, and has indeed been used for a huge variety of different game genres. Take a look at our list of notable games made with Unity if you need to be convinced.
But enough philosophy. Let’s look at a few examples.
Want to implement path-finding in Unity?At this point, path-finding doesn’t come out-of-the-box with Unity, but it can be implemented through scripting without problems. In fact, a user from the Unity community, AngryAnt, did just that with his Path Project. Not only did he implement path-finding, but he used Unity’s flexible editor GUI API to make editor controls for the path-finding logic that integrates completely and seamlessly into the normal Unity user-interface.
Want to implement inverse kinematics in Unity? Unity doesn’t have inverse kinematics build-in but it can be implemented quite easily through scripting. Inverse kinematics are used prominently in the Locomotion System for Unity, that lets any animated character with legs walk and run over any uneven terrain, adjusting the movements of the bones in the legs to ensure that the feet step correctly on the ground. This can dramatically improve the realism of animated humans and animals. The Locomotion System is free to use in any Unity project.
Want to integrate Unity with proven MMO server technologies? The Mono framework lets you write any networking code you like. As an example, Thomas Hentschel Lund has done great work with integrating vanilla Unity with the SmartFoxServer package. Yes, thats the backend powering Club Penguin, one of the biggest MMO for tweens out there. Thomas wrote a few plug-ins to interface with SmartFoxServer, and by exposing the relevant script handles, provided Unity script handles for communicating with SmartFoxServer. The best part? You can just go download it, and use it. You can also read Thomas’ great article in Unity Developer Magazine issue two.
Of course, some people will deliberately keep trying to think of things that might not be easily done in Unity through scripting. Some of those things (such as using external native libraries) can be done in Unity Pro using custom plug-ins – other things cannot, but those things are rarely real-world problems. Also, those things would usually require a major engine rewrite or overhaul to be possible in other engines that do provide the source code per default. Of course, if it turns out that a needed mission critical feature for your game really do require the Unity source code, you can always consider just buying a source code license.
However, before assuming that Unity Indie or Pro is “too limiting” for your game, please take a moment to talk with our sales support or our user community to find out if your desired feature really needs the source code, or, as it is the case for the vast majority of our clients, it can easily be done through scripting.