When creating and setting parameters for graphic objects using the API, "top" and "left" expect numbers but accept strings. However, for purposes of dynamic lighting, the engine only responds well to numbers. The strings seem to get converted to numbers, but only once the object is selected or moved by someone. --- From other thread : When i drop tokens, the light doesn't show up. If I look at the token details, they appear to have all the correct settings for light radius and dim light radius. If I then select the (unlit) tokens on the map, they suddenly start emitting light. Here's a video of the strange behaviour in action ----------------- Found my bug! For anyone curious... var movementPath = token.get("lastmove"); // produces a string of comma delimited numbers. var travelLocationsArray = token.get("lastmove").split(","); // produces an array of strings, not numbers. //var X = travelLocationsArray[0]; // is a string. var X = Number(travelLocationsArray[0]); // works better // don't try creating dynamically lit objects with strings as parameters for "left" and "top". They'll go where you expect, but won't be lit until moved.