Here's my full comment:
-
Unit - A unit Begins casting an ability
Don't use this action, instead, use "Starts the effect of an ability"
It may lead to abusive action such as, the trigger is fired, but no cooldown and mana cost to the casting unit, because the trigger is fired even before the spell is fired
-
Unit - Create 1 Dummy Invisibility for (Owner of (Triggering unit)) at (Position of (Triggering unit)) facing Default building facing degrees
This LEAK, point-type leak
You must save the point through variable first, only then, you can clean the leak
Like this:
-
Actions
-

Set DummyLocation = (Position of (Triggering unit))
-

Unit - Create 1 Dummy Invisibility for (Owner of (Triggering unit)) at DummyLocation facing Default building facing degrees
-

Custom script: call RemoveLocation(udg_DummyLocation)
DummyLocation is Point-type variable
To set a variable, go to Action and find Set Variable action
This way, it is leakless
-
Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
Usually, I use 0.50 for better efficiency
Standard casting time for all unit is at most 0.2 ~ 0.3 second
Using a 1 second clean leak of a unit creation dummy is not wrong, but you can shorten its lifespan, it is more efficient