## What is Cocos? Cocos is a platform to create games: it includes an editor, a game engine, it also includes integration with the popular services every developer expects... everything is packaged in a convenient installer. It is a complete *ecosystem*. ![](cocos-img/cocos-structure-v1.0-160116.png "Cocos ecosystem") Historically, developers would download either a __.zip__ of the latest release or become bleeding edge by staying in sync with our [GitHub](https://github.com/cocos2d/cocos2d-x) repo. When dealing with new releases, this was a manual integration effort for developers. If you had multiple projects, depending upon your setup, you may have even had to perform a manual integration for each project. Not anymore, utilizing __Cocos__. __Cocos__ had been available as a console only app with limited functionality for creating projects as well as compiling and running your applications. However, now, it is your simple solutions to managing your entire project base. __Cocos__ provides: * A unified setup for both __Cocos2d-x__ and __Cocos__. This allows you to stay up to date with the latest __Cocos2d-x__ releases. This includes using precompiled binaries and source code, in a single place. * Easy integration with __SDKs__ for 3rd party services: Facebook, IAP and many more. * Developers a channel to provide feedback and get support, directly within __Cocos__, making it simple to contact the engine team for help.  ### What is the workflow? Historically, you probably downloaded a __.zip__ from the website or if you stayed a hipster and pulled from the [GitHub](https://github.com/cocos2d/cocos2d-x) repo. Downloading the __.zip__ will no longer be available. [Github](https://github.com/cocos2d/cocos2d-x), however, will always remain available. The workflow is now to use __Cocos__ for everything! Yes, it handles everything from __creating__ projects, __editing__ project properties and settings, __integrating__ SDKBOX services, __compiling and running__ your code and __building__ your user interface in __Cocos Studio__. __Cocos__ is simple with a clean, modern interface for maximizing your productivity. Take a look: The main window: ![](cocos-img/main_window.png "Cocos main window") Creating a new project: ![](cocos-img/creating_a_new_project.png "Creating a new project") Now all of your projects in a single place: ![](cocos-img/all_projects.png "All Projects") ### Precompiled libraries versus source code __Cocos__ now makes it easy for developers to use precompiled libraries instead of the source code. Why might you want to do this? Speed for one! Using precompiled libraries eliminates the need to compile the __Cocos2d-x__ source each time. This eliminates the long thumb twiddling between compile sessions. Second, updating to the latest version is simple. You download directly from within __Cocos__ and __modify__ your projects settings to switch to the latest version. ### SDK Integration __Cocos__ provides many services that you can integrate into your apps for *FREE* and you can add services to your apps quickly and stay on top of services updates. As new versions of __SDKs__ become available you can download directly from within __Cocos__ and __modify__ your projects settings to update to the latest version. Currently, __SDKBOX__ is integrated into __Cocos__. You can read more about __SDKBOX__ and the services it offers in the [Services Docs](../services/sdkbox/index.html). ## Using Cocos ### Creating a new project Creating a new project with __Cocos__ is easy, just follow a few simple steps. Using __Cocos__, you are creating a __Cocos2d-x__ project with complete flexibility to change your projects settings at any time. To create a new new project: - Open __Cocos__ - Click **New Project** - Specify your project settings. Let's make sure we know what the settings are:
Setting Description
Project Name the name of the project to be created.
Project Path the folder in which your projects are located.
Engine Version version of Cocos2d-x you will use to create this project.
Engine Type
  • Precompiled Library: a static library of the cocos2d-x source code. This would speed up compile times as there is no need to continually build the engine's source.

  • Source Code: cocos2d-x source code.
Project Language
  • Lua: based on cocos2d-x Lua binding. It can run on Android, iOS, Windows Phone, Windows, Mac.

  • JavaScript: based on cocos2d-js, also includes cocos2d-x JavaScript bindings. The JavaScript bindings are compatible with HTML5. You can run code in cocos2d-x runtime and HTML5 native engine. The default settings will be JavaScript bindings if the projects are built for running on Android, iOS, Windows Phone, Windows and Mac. The default settings will be cocos2d-js if the projects are for HTML5.

  • C++: based on cocos2d-x, It can run on Android, iOS, Windows Phone, Windows, Mac.
Editor whether or not to create a Cocos Studio project. Cocos Studio is the official editor of Cocos2d-x.
SDKs which SDK services are available to add to your project. These services wrap up all the libraries and APIs from the service providers. All will be integrated for you to update the settings and call the service from your project.
- Click **Create** ![](cocos-img/creating_a_new_project.png "Creating a new project")