How can you make a moving background?

I see some games are vibe train simulator has moving background, how can I do this?

The only solution I thought was only CFraming the landscape and respawning it every time, but I’m not sure if this won’t be laggy.

I was gonna try that using TweenService with Vector3.new function then loop it

Did it work? I’m wondering if anybody else has came up with a solution.

I haven’t tried it yet. But in theory, it might work.