It's a simple problem, i'll fix it this evening. However, by fixing this, your code will work but you'll create a new array instance each time you alter the length. It might be a better idea to create individual instances of GLSLShader for different array lengths to avoid this. Or isn't that an option?