Modding Manual


Press esc to toggle between orthographic and perspective camera. Press Backspace to return control of the camera to the game.

Orthographic Camera

Middle click to pan the camera. Scroll to zoom the camera. Press Backspace to return control of the camera to the game.

Perspective Camera

wasd to pan and zoom the camera. Middle click and drag to change the angle of the camera. Press Backspace to return control of the camera to the game.


Always backup any changes you are working on. Due to the nature of the interface it is super easy to accidentally destroy work without realising.

To work through some examples check out the editor-tutorial.

The pause screen is where all the editing action occurs. Make sure you are on the pause screen to make use of the following tools.

Game Flow

Use the following keys to alter the flow of the game

Editor Selector

Before editing anything you must first select what you wish to edit:

Element Selection

Sometimes you need to make ANOTHER selection with your mouse. In different editor modes you can select different elements to modify them.


Debug Displays

While in the relevant editor mode (keys 0-9) you can toggle various debug displays. Textual debug output is also written to stdout every time a frame is changed or modified. Use F1-F12 to toggle them.

Entity Editor (1-9)

Debug Displays

Frame editing

Collision Box editing

Most of these operations will apply to all selected colboxes:

Stage Editor (0)

Debug Displays

Element Editing

The following operations apply to all selected platforms and re/spawn points

Command line

Press '~' to open the command line in Canon Collision. Alternatively you can use the cc_cli binary to send commands via your OS's terminal to Canon Collision. Note that when using cc_cli you will need to escape characters that have special meaning to your shell. e.g. quotes

The Canon Collision command line is very powerful, at the price of complexity. We recommend you work through the Command Line section of the Editor Tutorial if you have not yet worked with the Canon Collision command line tool. You can then come back here if you ever need a reference.


Lets give a quick breakdown of an example command. This command sets the weight of foo_entity to 1.2:

package.entities[foo_entity.cbor].weight:set 1.2

A command consists of:

  1. properties, indexes and keys to select an object.
  2. A command to do something to the selected object.
  3. Some commands require extra values to tell it what to do.


Different objects support different commands:

All objects support the following commands:


Get object properties with dot notation.


Sometimes an objects properties require an index or key to access them.


There are many contexts available that allow you to quickly access the object you want to modify. Setting a colbox to radius 10 can be done the primitive way. Objects are chained together with '.' and indexed by [] like this:

package.entities["fighter.cbor"].actions[0].frames[0].colboxes[2].radius:set 10

However how are you supposed to know all of these indexes? o.0 Instead you can let Canon Collision use context to know what you want to modify. Select the hitboxes you want in game then run:

cc package.entities[?].actions[?].frames[?].colboxes[?].radius:set 10