Problem with GPUParticles2D not following their parent

Godot Version

4.4.1

Question

Ah, Godot, I love you so much for your fine structure and logic…
and I hate you SOOO much when things that should work fine in principle don’t.

The issue is very simple, I have this little dragon crying. Tears are GPUParticles2D children of the dragon scene.
Now I want to move the dragon to the right.
Actually, I want to move a lot of stuff with it, so i put every character I want to move in a Node2D which works as a “container” and I move it, instead, with a position.x += velocity * delta inside the _process. Smart, isn’t it? (lol)

But… particles spawn in the wrong place.

They SOMEHOW follow the dragon but are shifted to the right by a large amount, say 8 pixels or so (a lot in pixel art).

I tried shifting the x position of the GPUParticles to the left and only once, but this seems to be ignored.
Then I decided to use brute force: I added in the _process of the dragon scene a constant update: thus at every frame, I set both the GPUParticles global positions equal to that of their parents minus some constant.
Minus! They should spawn LEFT of the dragon, right?

Nope. Same position.

It’s as if the engine was entirely ignoring my attempts at changing these particles’ position.

What am I missing? :frowning:

Ok, I solved it.
I was updating the position also in the animation for reasons too long to explain.
I actually wanted to update only the y position, but it turns out, you can’t, or I haven’t figured out how. So the other coordinate (x) was set to zero and that was the problem.