C4 Tools


C4Settings is a simple script designed to make it easier to create assets targeted for use in the C4 game engine. The default unit system for C4 is meters, while in Maya it is centimeters. With a few simple clicks, it is possible to switch Maya so that it uses meters, but this creates a number of issues ranging from incorrect camera clip-planes to problems with grid sizing. C4Settings simplifies the process to a single command, while also taking care to fix the issues caused by the manual method. In fact, the script can easily be changed to setup the scene for any of the Maya unit settings. Read the script comments for more information on making these changes.

Download: Download the current version of C4Settings here.


Maya to C4 Pipeline

Any defined game asset can be added to the world by selecting it from the list.
Assets can also be placed along a nurbs curve based on bounding boxes.




This tool aimed to use Maya in place of the C4 world editor, and includes:

  • A list of game assets added to the scene through referencing
  • Ease-of-use tools like populating models along a curve and quick duplication of referenced objects
  • One click exportation to collada and XML, including automated importation into the engine
  • Ability to add engine-specific features to objects (controllers, properties, materials, etc)



C4 has a powerful world editor, but for usability it can't compare to a standard DCC application like Maya. However, Maya can't access any of the engine-specific features of C4. What Maya can do, though, is be extended in just about any way imaginable.

The first time I worked with C4, it became clear that it was necessary to use model and mesh instances of objects in a level. The issue was that placement was tedious and slow in C4's world editor. My solution was to use a built in feature of the C4 importer to bring in Maya locator markers with the location for each instanced object. The process was still very tedious, but it worked well as a proof of concept.

For Blinding Silence, I set out to create a set of tools that would allow artists to generate levels in Maya, and export them to C4, without jumping through lots of hoops. The end result used the method from above, but automated it with a simple to use Maya UI and some augmentations to C4's importer. With these tools, the level artists on Blinding Silence were able to quickly generate new levels and change old ones, all while within Maya.

The most recent iteration of the C4 tools allows for not only the importation of location data, but also custom C4 specific data (such as properties, materials, and connectors). In addition, the tools automate importation by opening the engine, running the importer, and then loading the level. This allows the designer to quickly test changes with the click of a button, circumventing the C4 world editor entirely. This is all accomplished in Maya using PyMel scripts, along with a few custom nodes and commands using the Python API.


 2015 Elliot Borenstein