Quick answer: 2D and 3D have separate MSAA settings. Set msaa_2d on the Viewport (or Project Settings → Rendering → Anti Aliasing → MSAA 2D).

A vector-art game has jagged polygon and line edges. The MSAA setting was raised — but only the 3D one, which does nothing for 2D content.

Two Separate Settings

They’re independent. A 2D game needs msaa_2d.

Set It

# per-viewport in code
get_viewport().msaa_2d = Viewport.MSAA_4X

# or Project Settings:
# Rendering → Anti Aliasing → Quality → MSAA 2D = 4x

What MSAA 2D Covers

It anti-aliases the edges of 2D geometry — Polygon2D, Line2D, custom draw_* shapes. It does not smooth sprite-texture edges; for crisp scaled sprites, that’s a texture filter / import setting issue instead.

Performance Note

MSAA 2D has a cost proportional to the sample count and resolution. 2x or 4x is usually plenty for vector art; 8x is rarely worth it.

Verifying

Vector shapes and lines render with smooth edges. The 3D MSAA setting is unchanged (and irrelevant for a pure-2D game).

“2D and 3D MSAA are different knobs. A 2D game wants msaa_2d.”

For pixel-art games, leave MSAA off entirely — you want crisp edges, not smoothed ones. MSAA 2D is for vector/geometry art.