They keep modifing the variable system. They don’t really want people using scene or global variables within extensions. Extensions are meant to be self-contained. Isolated. Easily reusable.
They would prefer that you either create a function that’s an expression. You could then set the return value to your global variable. Or you could supply the global variable as a parameter of the type variable.
You could then copy the variable parameter to an extension variable, modify the extension variable and then copy the extension variable back to the variable parameter.
https://forum.gdevelop.io/t/not-a-bug-variable-parameter/65018/2?u=keith_1357
It adds extra steps but functions are meant to be self contained. By suppling the variable or creating an expression, the function is able to be used with any variable or with multiple variables.