Game Builder is an application that allows users to create games with little or no coding experience.
This project is no longer actively developed or maintained.
Welcome to the Game Builder open-source repository. This is the source code to build Game Builder, an application that allows users to create games with little or no coding experience. We are excited to share the source code with the community and are looking forward to seeing what you will create!
This is not an officially supported Google product.
It will probably work with later 2018.4.* versions, but this is the one we tested with. Unity 2019 is known to not work. If in doubt, use this exact version.
Python 2 to run code_gen scripts.
If you are using a Windows machine, you also need Git Bash (part of Git for Windows) to run shell scripts. If you are using a Mac, you don't need it: the built-in Terminal app is enough.
To build a standalone, you must use the menu item
Game Builder | Build. Going through the normal Unity Build Settings window will not work. Once done, your build will be located under the
We have included a reference build (
builds/gamebuilder-OSS.7z). This is the build that you should get if you simply build a Windows standalone as-is, without enabling any extra plugins.
For documentation about how the in-game scripting works, open the
docs.htmlfile in a browser (after downloading/cloning this repository).
Game Builder was originally built using several Unity Asset Store plugins. We cannot include them in the repo, so by default the features that require them are disabled. However, we've set things up so it's easy to re-enable some features once you've purchased and imported some plugins (many are free!). Instructions for individual features are below.
Running shell scripts: Whenever these instructions mention that you must run a given shell script, it's implied that you must run it (e.g 'bash shellscript.sh') in Git Bash (or OSX terminal) at the root of the repository.
Define a C# directive: When these instructions tell you to "define a C# directive" this means adding a C# #define symbol. To do this:
File | Build Settings
Player Settings | Other Settings | Configuration
Scripting Define Symbolstext field (with a semi-colon before it)
Photon Unity Networking - Enables multiplayer and collaborative-editing
Game Builder | Build).
New Project | Empty | Private MP).
Multiplayer | Use Join Code).
Crosstales File Browser - Enables the system file browser UI for local disk import/export features
Poly Toolkit for Unity
To enable importing 3D models from Poly, you must enter an API Key for the Poly API.
You do NOT need to import the Poly SDK (Poly Toolkit). It's already included. All you need to do is enter your API key.
To do so, click the PtSettings.asset file in Unity (you will find it in Assets/third_party/PolyToolkit/Resources). The Inspector window will show several options for it. Click the RUNTIME tab, open the Auth Config section and enter your API Key, replacing the placeholder text "INSERT YOUR API KEY HERE".
For instructions on how to get an API key, see the Google Cloud Console. When you create your Google Cloud Console project, don't forget to enable the Poly API on it before (not after) generating your API Key.
Google Image Search
To enable Google Image Search in you Creation Library, you must setup a Custom Search Engine on Google Cloud Platform.
(Instructions assume basic familiarity with Google Cloud)
APIkeyvariable at the top of GisSearchManager.cs
If you want game-generated 2D graphics (that is, you want to allow games to show HUD text, draw shapes on the screen, etc).
Steam Workshop - If you are releasing on Steam and want to enable functionality like project sharing.
TriLib - To import FBX files with animation from Poly.
This plugin allows rendering of an HTML page inside of Game Builder, which enables you to use the Monaco-based code editor IDE.
buildsdirectory, you will also find the last build that we published to Steam (the
gamebuilder-ARCHIVE.7z.*files). This differs from the open-source build because it has several optional plugins enabled such as 2D UI, rich JS editor, etc.
See the LICENSE file for more details.
This repository does not currently accept pull requests, but you are welcome to fork it to make your own version of it, if you want to.