Particles seem to work fine for me. All I did was create a new GPUParticles3D node, assign a QuadMesh to Draw Pass 1, apply a ShaderMaterial to it, and use one of the Sprite shaders with that material. Not all ParticleProcessMaterial properties will work, since the shader overrides how the particles are rendered. Animation can be handled with an AnimationPlayer or a script by either updating the material’s UV offset when using a sprite sheet with multiple frames or swapping the albedo texture when using individual sprite images for each animation frame.