Geon FX Manual



F1 — show hotkeys

Ctrl + LMB — input emitter position

Ctrl + RMB — move background

RMB — move all emitters

Space or LMB — burst particles from all emitters (disable emitter to exclude it's particles)

Middle Click — resize emitter

Ctrl + S — save current project (overwrites existing file)

Ctrl + N — start a new project

Ctrl + O — open project (shows only .geon files)

Ctrl + I — import effects from GML code

Ctrl + E — export all effects to GML code

Ctrl + Z — Undo last action

Ctrl + Y — Redo last action

Ctrl + W — remove effect

Ctrl + F — switch fullscreen or window mode

F9 – export effects to image sequence (PNG or GIF)


Use Cmd instead of Ctrl. Second keys in all keyboard shortcuts are exactly the same. Example: Сmd + N starts a new project on Mac.


  • When you save effects that use external sprites copy the sprites to your effects folder (preserving the filenames). So that when you open your effect next time it will automatically load the corresponding sprite.
  • Circle in the center can be dragged with LMB. This circle is the anchor point where all your effects will start when you load them into GameMaker. RMB will move all emitters with the anchor point.


  • geon_system_init(ps) — Geon FX automatically creates the Particle System and holds it's id in global.geonfx_ps variable. You can destroy the default particle system and change it with your own by assigning it to global.geonfx_ps
  • geon_system_destroy() — call it if you want to clear the Geon FX effect system by removing all effects from the memory.
  • geon_effect_add(filename, [ps], [sprite_array], [ps_add]) — Loads new effect from a file fname and uses particle system ps to play it. [sprite_array] argument is there to replace the effect sprites with custom sprites from your project. [ps_add] allows you to set an alternative particle system for all effects that use additional blending.
  • geon_effect_burst(effect_ind, x, y, [direction|gravity_direction|speed_multiplier|gravity_multiplier]) - Play effect with index effect_ind at x, y once. Last argument allows to set direction and speed of the entire effect in realtime.
  • geon_effect_stream(effect_ind, x, y, enable, [direction|gravity_direction|speed_multiplier|gravity_multiplier]) - Enable or disable effect streaming for effect_ind at x, y coordinates. Also allows to rewrite default direction and speed settings in realtime.
  • geon_effect_is_streamed(effect_ind) - Checks whether effect with index effect_ind is being streamed
  • geon_effect_delete(effect_ind, clear_pt) - Removes effect with index effect_ind from memory. If ( clear_pt == true ) particle types will be destroyed too.