These are excellent and super high quality. Thank you for sharing!!! Only problem is that they do not actually work in my game. The preview and one_shot export variables in VFXController get reset to the default at runtime. I was able to fix this by slightly adjusting the code for both variable setters:
@export var preview: bool = true:
set(value):
preview = value
if Engine.is_editor_hint():
if one_shot && value == true:
preview = false
play()
elif value == true:
play()
@export var one_shot: bool = false:
set(value):
one_shot = value
if Engine.is_editor_hint():
preview = false



