This version of Aura is only for GameMaker Studio 2. For GM:S 1.4, please see here.
Aura is a lightweight, simple to use lighting engine for your 2D games. It's main feature is that it is simple to use and a no-fuss solution to the problem of creating lights and shadows in GameMaker.
Version 2.0 offers numerous improvements over the original, and makes the most of the new GMS2 capabilities, making it more feature rich than ever!
Why not see for yourself by checking out the Aura 2 Live Demo?
Cross platform! Tested on UWP, Desktop, Mobile and HTML5!
Instance based lights that you can scale, rotate, colour and fade easily
Static or dynamic lighting - static lights are blindingly fast, even in large numbers, and can even be temporarily turned into dynamic lights so that you can control the performance of your game at all times
Dynamic lights create realistic shadows, with multiple lights casting multiple shadows
Shadows can be defined as box, circle or polygon shapes. Polygon shadows can be created easily through a points list method and can be convex or concave.
You can create a shadow mesh from a tilemap layer too!
Option to have "soft" shadows
Huge number of "convenience" scripts included to make using the engine a breeze
Lighting created with "Multiply" blending rather than "Additive" blending, giving super-natural effects, without any of the brightness and saturation associated with other lighting engines.
Three demo rooms included for Dynamic Lights, Static Lights, and a General demo room where you can see how all the features work together.
Every single script is commented in detail, explaining exactly how it works, typical uses, return values and suggestions for edits or changes
This update provides a couple of minor bug fixes and some new features. The new features are:
new script for rotating shadow casters. This is a "quality of life" thing and makes rotating shadows MUCH easier
Lights now have an (optional) scale option. When set to "true" and the light radius is changed, the assigned light sprite will be scaled to fit the new light surface automatically. Note that this ONLY works with light sprites that have an origin in the center.
Experimental (and optional) "length" argument added to shadow casters. This will set the length (in pixels) of the shadow. I'm not too happy with how this looks, tbh, but