When I use go.get() to fetch a fragment constant from a sprite, it will always return the default vector set in the editor, even if I change it at runtime. However, if I fetch the vector components individually, the engine will return the correct values.
print(go.get("#sprite", "tint"))
-- ==> vmath.vector4(1, 1, 1, 1)
sprite.set_constant("#sprite", "tint", vmath.vector4(0.0))
print(go.get("#sprite", "tint"))
-- ==> vmath.vector4(1, 1, 1, 1)
print(go.get("#sprite", "tint.x"))
-- ==> 0
print(go.get("#sprite", "tint.y"))
-- ==> 0
Any idea why the engine would return updated components but not vectors?