I’ve never found any of the road creation plugins on Roblox to be very useful in my use cases where they have their own preset roads or just don’t curve like I wanted. So I ended up playing around with Bezier Curves and made one myself. Now let me get this straight first this plugin isn’t meant to fully automate road building as it can only make 1 segment of road and not connect multiple segments together, but I do believe it will make the process a lot faster.
Anyways here’s the plugin and how to use it.
Step 1
First you’ll want to click the little plus button in the bottom right to add some nodes.
You’ll notice that each node is numbered. This is the order at which they’re handled in the Bezier Curve. You can use the studio move tool to move them around, you can delete them using studio’s delete tool or the minus button. When a node is removed the space will automatically be filled by the nodes higher in count lowering by one.
Step 2
Now that you have a path drawn out you can choose any road template of your making.
Click Select Template and hover your mouse over a road model. In order for a template to be valid the model must have a PrimaryPart and the PrimaryPart’s front face should be in the direction you want the road facing. The PrimaryPart will be highlighted green if you’ve done this correctly.
Step 3
After a template has been set you can switch the plugin to Render by clicking the Outline button. This will replace the white skeleton with your road.
It is recommended that you use Outline mode when dragging points around as this can cause severe lag while in Render mode.
Step 4
You’ll notice that in the picture above there were really sharp angles and gaps in the curve and not really ideal. You can fix this by editing the minimum length in the bottom right to any value you need.
You can also edit the Steps value which is how many points will be calculated in the Bezier curve each movement. Higher numbers will lead to more precise curves but make take more time to process.
Step 5
If you like the final product you can click Finish and it’ll remove the nodes.
Running Code on Road Segments
The New Module button will open a ModuleScript with a function that takes in a list of road segments in order from the first node to the last node. This allows you to run any code you want on the road segments.
Building On Air
Pressing G or toggling the grid will allow you to place nodes in the air. You can also adjust the height in the bottom right.
Other Usages
Train tracks
Multiple roads
Feel free to post suggestions and bug reports below.
Credit to the ResizeAlign plugin developers for making the alignment system
This plugin is still a WIP but it’s currently at a stable enough place where it’s easy to use