Read me

It can happen that PEd uses different variables for object transformations than you have in you project. So before starting to use PEd, we reccomend you to check if the variables are matching, otherwise you would not be able to use the editor. To do so, go to the Extensions, open PushEd, PushEd.gml and you should see a short list of constants. Each constants represents a variable.

PEd_VAR_POS_XInstance position on X axis.
PEd_VAR_POS_YInstance position on Y axis.
PEd_VAR_POS_Z*Instance position on Z axis.
PEd_VAR_ROT_X*Instance rotation around X axis.
PEd_VAR_ROT_Y*Instance rotation around Y axis.
PEd_VAR_ROT_ZInstance rotation around Z axis.
PEd_VAR_SCALE_XInstance scale on X axis.
PEd_VAR_SCALE_YInstance scale on Y axis.
PEd_VAR_SCALE_Z*Instance scale on Z axis.
PEd_VAR_COLOURInstance colour.
PEd_VAR_ALPHAInstance alpha.

List of automatically saved variables:

  • x
  • y
  • image_angle
  • image_xscale
  • image_yscale
  • image_blend
  • image_alpha

These variables are ALWAYS saved into the room file (GM's native or external .bbmap). Any other additional variable has to be written into instance creation code. Writing variables into the creation code is done by PEd_instanceAutocompleteCode. Loading variables from creation code, which is necessary only for external "*.bbmap" room files (in GM's native rooms this is done automatically), is done in PEd_assignVariable. So if you make any changes to the constants, make sure that you have also rewritten variable names in those two scripts.

*Additional variables, necessary only for 3D transformations. If you are using PEd for creating 2D levels, you can leave these constants as they are.



AltHold down to temporarily disable snapping to grid.
Ctrl+AClear selection.
Ctrl+CCopy selected instanes/tiles.
Ctrl+EExport room.
Ctrl+FSwitch drawing of the floor.
Ctrl+GSwitch snapping to grid.
Ctrl+IImport room.
Ctrl+NCreate new room.
Ctrl+OOpen room.
Ctrl+SSave room.
Ctrl+Shift+SSave room as...
DelDestroy selected instances/tiles.
F10Switch between Play and Editor.
F1Show/hide debug.
F2Switch between 2D/3D mode.
F3Cycle between editing modes.
LMBMove pivot.
Num0..9Set camera speed. The higher the number the faster will camera move.
TabCycle between tools.

3D mode

Arrow keysLook around.
MWMove camera.
RMBLook around.
W, S, A, D, Q, EMove camera (hold Shift to move faster).

2D mode

Arrow keysMove camera (hold Shift to move faster).
MWZoom camera.
Page Up/Page DownZoom camera.
RMBMove camera.

Object edit mode

Ctrl+LMBAdd/remove instance to/from multiple selection.
LMBSelect instance.

Tile edit mode

Ctr+LMBCreate tile.
Ctr+RMBDelete tile on the mouse position.
LMBSelect tile.
Shift+Ctrl+LMBSpawn tiles.
Shift+LMBAdd/remove tile to/from multiple selection.

  • *LMB - left mouse button.
  • *MMB - middle mouse button.
  • *MW - mouse wheel.
  • *RMB - right mouse button.


PEd 1.5.3

  • Extended math library.
  • Fixed PEd_instanceGetMatrix.
  • Fixed missing variable detailsRoomBackgroundShow.
  • Fixed error when pressing delete when having a room selected.
  • Fixed shadows under GUI elements while in 3D.
  • Minor fixes and changes.

PEd 1.5.2

  • Added a new macro PEd_CREATE_DUMMY_2D. When this is set to true, then a dummy object is created instead of the original one. This prevents executing game code in the editor. Applies only to objects that do not have set PEd_oObject3D as their parent.
  • Added script for converting meshes to d3d_models and vertex buffers.
  • Added script for loading 3D meshes from *.obj files.
  • Extended math library (matrices, vectors).
  • Fixed a bug where Content Browser would not work properly when you shuffle your resources in GM.
  • Fixed create event of PEd_oObject2D (custom data containers would load twice in the Details panel in some cases).
  • Fixed pivot rotation.
  • Minor fixes and changes.

PEd 1.5.0

  • Completely rewritten GUI system from scratch.
  • Improved layout of the GUI controls, so that they do not take up so much vertical space anymore.
  • Moved tile layers from the Tools panel to the Scene Outline panel (visible only when in the tile edit mode).
  • Fixed viewport zoom bug after creating an empty room/importing room from external file format.
  • Possible to select instances of PEd_oObject2D in 3D mode.
  • Changed instance properties in the Details panel are now applied to all selected instances.
  • When saving to a .ped file a backup of the original file is copied into the %APPDATA% folder.
  • Extended vector math library.
  • Fixed pivot in tile edit mode.
  • Updated documentation.
  • Code clean up.
  • Lots of other improvements and bug fixes.

PEd 1.4.2

  • Added possibility to hide/show any tile in the scene outline, current visible states are saved into the .ped file.
  • Minor fixes and changes.

PEd 1.4.1

  • Added possibility to hide/show any instance in the scene outline, current visible states are saved into the .ped file.
  • Included offline documentation.
  • Minor fixes and changes.

PEd 1.4.0

  • Changed controls.
  • Implemented custom version of Simplex XML.
  • Whole room saving/loading system has been rewritten from scratch.
  • Loading of GMX files is now treated the same way as BBMAP.
  • Created new version of BBMAP (v2), import of the old one still supported.
  • Rooms are now saved by default into a new .ped file format, that can contain more data useful for the editor, like camera position, edit mode (2D/3D), etc...
  • Improved Scene Outline panel - now shows also instance names and IDs.
  • In the Scene Outline, it is now possible to filter instances by their name and id.
  • Scene Outline now also contains the room.
  • In the tile edit mode, Scene Outline now shows list of all existing tiles.
  • Room settings has been moved from the Settings panel to the Details panel. To access them, a room must be selected in the Scene Outline.
  • Settings panel has been renamed to Tools.
  • Created new parent objects for 2D and 3D game objects. It is not necessary to set them as parents in your project, but can be beneficial. .
  • Created custom data containers for objects. It is now possible to register your own data to PEd and edit it in the Details panel.
  • Content of the Details panel is now drawed automatically for objects and tiles using the custom data containers.
  • Changed order of icons in the toolbar.
  • Added Play button to the toolbar.
  • Rewrote documentation comments to GMDoc format.
  • Unified coding style.
  • Moved code that doesn't have to be in scripts into objects.
  • Minor fixes and changes.

PEd 1.3.1

  • Enhanced creation code evaluation (now handles all built-in variables).
  • Fixed bug where sprites with negative scale would disappear.
  • Minor fixes and changes.

PEd 1.3.0

  • Selecting multiple tiles is now possible (shift + RMB).
  • It is now possible to move around (2D)/look around (3D) with arrow keys.
  • It is now possible to zoom view in 2D mode with page up/page down.
  • Zooming background in the tile editor is now possible (ctrl + MW, ctrl + page up/page down).
  • It is now possible to scroll background in the tile editor with ctrl + arrows.
  • Rectangular selection in the tile editor (when selecting which part of background you want to place) is now possible (shift + LMB).
  • Colour sliders now show preview of mixed colour on mouse over.
  • Fixed bug when changing instance position in the Details panel would work incorrectly if you had multiple instances selected.
  • Fixed error "ds_list_find_value argument 2 incorrect type (5) expecting a Number (YYGI32)" that could occur while importing a map due to GM backward compatibility issues.
  • Minor fixes and changes.

PEd 1.2.5

  • Fixed PEd_getVarFromStr.
  • Improved PEd_codeProcess.
  • Creation code is automatically evaluated on change.
  • Updated licence.
  • Minor fixes and changes.

PEd 1.2

  • Fixed code - remaining pieces of old code from previous system for handling user variables has been replaced with new one.
  • Improved rotations.
  • Minor fixes and changes.

PEd 1.1

  • Improved control over user defined variables.
  • All code from objects has been moved into scripts.
  • Changes to GUI - new inputs, cosmetical changes.
  • Added tile spawning (Shift+Ctrl+LMB), added option "Delete underlying tiles".
  • Minor fixes and changes.

PEd 1.0

  • Renamed from PupushEd to PushEd.
  • All functions has been moved from extension to scripts.
  • Improved 3D pivot.
  • Improved 3D rotations.
  • Minor fixes and changes.

PEd 0.9.6 RC3

  • Added tooltips.
  • Added offset and step for tile editing.
  • Added grid highlighting.
  • Improved scrollbars.
  • Renamed sample instances.
  • Minor fixes and changes.

PEd 0.9.5 RC3

  • Minor fixes and changes.

PEd 0.9.4 RC3

  • Added new features, level exporting and importing (great for modding!).
  • Minor fixes and changes.

PEd 0.9.3 RC2

  • Added 2D level editing .
  • Added backgrounds settings.
  • Added tiles editor.
  • Added physics settings.
  • Added content browser (in early stage).
  • Improved optimization.
  • Improved GUI.
  • Fixed problem with saving.
  • Many other improvements, fixes, and changes.

PEd 0.9.2 RC1

  • Fixed problems with GUI.

PEd 0.9.1 RC1

  • Small fixes.

PEd 0.9.0 RC1

  • First public release.


PushEd (further only as "the product")

  • We are not responsible for any possible damage caused by using the product.
  • You are allowed to edit the source code of the product on your own risk.
  • You are not allowed to claim that you are the author of the product.
  • Any further distribution (both commercial and non-commercial) of the product's source code or of it’s modifications is strictly prohibited.
  • We do not require any mention in credits that your game/application uses or has been made using the product, but we would really appreciate it.
  • By using the product you agree with this licence.

Copyright © 2014-2017 BlueBurn.


Welcome to the official PushEd documentation portal. This documentation has been created with GMDoc on August 8th, 2017.

PushEd (shortly PEd) is the first of it's kind 2D/3D level editor for GameMaker: Studio made in GMS and it comes as an extension that you put into your project. You can export levels to the GM's native room format or to an external one. That means you can use it just for the development or you can leave it in your game for players to make their own levels.


  • Easy to setup and use.
  • Intuitive controlls.
  • Change all room and views settings.
  • Drag&drop objects into the level.
  • Grid alignment.
  • Set instance creation code.
  • Move, rotate and scale instances.
  • Set instance colour.
  • Multiple selection.
  • Copy selected instances.
  • Resizable window and panels.
  • Save and load rooms.
  • Tile editing.
  • Level export and import (external file, great for modding).

If you have any suggestions or you found any bug please report it on our bug tracker or you can contact us via