Submission checklist
Description
Version: v0.4.3 (also present on main as of June 2026).
Bug
In package/Runtime/Renderer.cs, Paint.Flush() serializes a linear gradient's end point. The linear (else) branch writes linear.End.Y twice instead of linear.End.X then linear.End.Y:
else
{
var linear = Gradient as LinearGradient;
bytes = BitConverter.GetBytes(linear.End.Y); // BUG: should be linear.End.X
for (int j = 0; j < 4; j++) { buffer[offset++] = bytes[j]; }
bytes = BitConverter.GetBytes(linear.End.Y); // End.Y (correct)
for (int j = 0; j < 4; j++) { buffer[offset++] = bytes[j]; }
}
So the native renderer receives end = (End.Y, End.Y) — End.X is never sent. Any linear gradient with End.X != End.Y (i.e. virtually all of them) renders with the wrong axis (the gradient collapses/rotates).
Fix
The first write should be linear.End.X:
bytes = BitConverter.GetBytes(linear.End.X);
Previous working version
No response
Reproduction steps / code
Repro
Procedurally draw a Path filled with a Paint whose Gradient is:
new LinearGradient(new Vector2(0f, 0f), new Vector2(100f, 0f), colors, stops)
Expected: a left→right gradient. Actual: wrong direction (behaves as if end = (0, 0)). RadialGradient is unaffected.
Upload your reproduction files / stack trace
No response
Source .riv / .rev file
No response
Screenshots / video
No response
Unity Editor log file
No response
Rive Unity package version
0.4.3
Unity version
6000.3.18f1
Target platform
macOS
Editor OS & version
No response
Additional context
No response
Submission checklist
Description
Version: v0.4.3 (also present on
mainas of June 2026).Bug
In
package/Runtime/Renderer.cs,Paint.Flush()serializes a linear gradient's end point. The linear (else) branch writeslinear.End.Ytwice instead oflinear.End.Xthenlinear.End.Y:So the native renderer receives
end = (End.Y, End.Y)—End.Xis never sent. Any linear gradient withEnd.X != End.Y(i.e. virtually all of them) renders with the wrong axis (the gradient collapses/rotates).Fix
The first write should be
linear.End.X:Previous working version
No response
Reproduction steps / code
Repro
Procedurally draw a
Pathfilled with aPaintwhoseGradientis:Expected: a left→right gradient. Actual: wrong direction (behaves as if
end = (0, 0)).RadialGradientis unaffected.Upload your reproduction files / stack trace
No response
Source
.riv/.revfileNo response
Screenshots / video
No response
Unity Editor log file
No response
Rive Unity package version
0.4.3
Unity version
6000.3.18f1
Target platform
macOS
Editor OS & version
No response
Additional context
No response