public static DelayedAction Do(Action action, float delay) { if (obj == null) { obj = new GameObject(); obj.name = "objectForDelayedActions"; } DelayedAction result = obj.AddComponent <DelayedAction> (); result.DoActionNonStatic(action, delay); return(result); }