GameMaker Studio 2 (2.3)

Fast Blur Area

Kazan Games

You must be logged in to obtain assets


Blur an area of the screen with just 1 line of code! [GMS 2.3.3+ / 2.3.7+]

Check out the DEMO here:


  • Cross-platform (tested on Windows, MacOS, HTML5, Android and iOS);
  • High performance and quality (the most for GMS 2);
  • 9 blur functions;
  • 4 extra functions;
  • Uses shaders (OpenGL ES);
  • Doesn't need to disable application_surface;
  • No memory leak;
  • YYC, VM and x64 Fully compatible;
  • Draw blurred areas in the room position or in the GUI (can be fullscreen too);
  • Blur effect can be created with just 1 object or multiple ones;
  • Real-time dinamic and static blur (you can blur sprites or surfaces);
  • Use 1 id (or more) to draw multiple areas at the same time;
  • Blur amount goes from 0 to 1;
  • Very easy to use;
  • Flexible and modular;
  • No problems with positioning;
  • Compact functions;
  • Organized and well commented code;
  • Two example rooms and 6 code examples;
  • Pause Menu with animated blurred background;
  • No naming conflicts, files start with "__blur";
  • Example folder separated from the Blur folder.


Create Event:

blur_area_id = blur_area_create();

Draw Event:

blur_area_draw(blur_area_id, application_surface, gui_mouse_x, gui_mouse_y, width, height, 0, 0, false, blur_amount);

There are many other functions, check out the DEMO at the top of the page. If you have any issues, please contact me. Leave a review if you liked! :D


  • Noise blur

End User Licence Agreement (EULA).

Age Rating: 4+


GMS2.3 - Version 1.2.0. Published October 6, 2021

v1.2 >>> [ADDED] New example: Blurred sprite | blur_sprite_create() now has a subimg parameter | Small menu animation | [FIXED] Blur amount parameter values | Now, blur_area_draw uses radius instead of downamount | Small optimization on surfaces | Pause menu blur (now, animation goes from 0) | [CHANGED] Renamed all functions to blur_area_* instead of blur_realtime_* | Now it's blur_sprite_create() instead of blur_static_create() | [REMOVED] Two redundant lines from draw_blur_realtime_ext()

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait