make texture pattern uniform

Hi, newbie here,

put a texture pattern on the cushion below. The left side is much bigger and more stretched out than the right side. How do I get the pattern to be uniform throughout the object?

Is it just a matter of straightening the uvs? If so how do I make the who uv mesh uniform (I straightened out the y axis edges).

I saw an addon called “quad unwrap” ( but the link doesn’t seem to work.

Thanks very much!