Quick answer: Set LineRenderer Texture Mode to Tile, set Tile per Distance to 1.0 (one repeat per world unit), and use World Space when points are absolute. The texture will repeat at a constant rate as the line grows.

A laser sight texture looks great at point-blank range, then turns into a single horizontal smear when the player aims at a far wall. The default LineRenderer texture mode stretches your texture, which is almost never what you want.

The Symptom

LineRenderer’s assigned texture appears compressed or stretched as line length changes. A patterned texture loses its visual scale; a logo gets unrecognizably elongated.

What Causes This

LineRenderer Texture Mode defaults to Stretch: the texture U range [0,1] maps to the entire line length, no matter how long it is. A 10m line shows the same single repeat as a 1m line, just spread thinner.

The Fix

Step 1: Texture Mode = Tile. Inspector → LineRenderer → Texture Mode → Tile. The texture now tiles at a rate set by Tile per Distance.

Step 2: Tile per Distance. Set to 1.0 for one full texture repeat per world unit. For a thinner laser pattern, raise to 5 or 10 (more repeats per meter).

Texture Mode:       Tile
Tile per Distance:  2.0     // 2 repeats per world unit
Width:              0.05
Use World Space:    true    // for laser hitting world geometry

Step 3: World Space when appropriate. If the line represents an absolute world segment (player’s laser hitting a wall hit-point), Use World Space = true. Setting points becomes setting world coordinates directly. Local space is right when the line follows a parent transform (a tail attached to a character).

Code Example

public class LaserSight : MonoBehaviour
{
    public LineRenderer line;
    public Transform muzzle;

    void Update()
    {
        if (Physics.Raycast(muzzle.position, muzzle.forward, out var hit, 100f))
        {
            line.SetPosition(0, muzzle.position);
            line.SetPosition(1, hit.point);
        }
    }
}

With Tile mode and World Space on, the texture maintains its scale whether the laser hits a wall 1m away or 100m away.

Repeat per Segment Alternative

For multi-point lines (paths, trails) with non-uniform spacing, Repeat per Segment is simpler: the texture repeats once between each pair of consecutive points. Use this when your points form a meaningful sequence (waypoints, drawing).

Width and Curve

If the line still looks weird, check Width Curve. Default is constant 0.1 from start to end. Tapering width with the curve produces beam-like falloff, but a sharp curve at the line ends can also visually distort the texture sample.

Verifying

Drag the line endpoint in the Scene view and watch the texture density. With Tile mode it should stay constant; with Stretch it changes visibly with length.

“Tile mode. World space when absolute. Tile per Distance tunes the repeat rate. The texture stays the right size.”

Related Issues

For trails snapping on teleport, see trail teleport. For LineRenderer not visible, see LineRenderer not visible.

Tile mode. World space. Texture density holds across resizes.