CivilArc Road Toolkit
(Formerly Bezier Curve Road Generator)
Version 2.1
“Create curved roads with ease!”
Changelog
https://devforum.roblox.com/t/bezier-curved-road-generator-update-log
What does this do?
Video Demonstration and Workflow
Step 1
When starting the plugin, you will be prompted to select a extisting road that was generated from this plugin or a existing RoadPoints model, or start a new road. For demonstrations purposes, start by pressing the New Road (Click).
If you have selected a current road, skip to Step 4.
Step 2
Upon pressing the New Road (Click) button, you will be prompted to start plotting RoadPoints via your mouse. Where ever you left click, it will place down a Road Point. Alternatively, you can hold right click to have the point be floating in the air.
When you do plot a point down, you will have visual guides that tell you the direction in angle from the point previous (so the first one you plotted) and a distance counter noting the distance away.
Keep plotting until you have a path that you want the road to be generated, then press Confirm Points button. You can also undo a last point via the Undo Last Point.
Step 3
Once you have pressed the Confirm Points button, you will be prompted to select a Curve Selection, either Custom or Simple modes. This phase will focus on ensuring that you have the correct road preview.
Custom is the mode where you can specify a Design Speed. This will influence the generated road preview to follow that speed’s geometric guidelines.
Simple is the mode where it will automatically determine the best road preview and provide a suggested Design Speed.
So decide on a mode, you can switch between the two at anytime during this phase.
You might see several messages notifying you of the generated road preview. Read them and make adjustments to the points affected. You can press on a point and you can move them around. You can drag them by pressing on it again and drag it around.
You can continue and press Confirm Edits if you wish, but please make all adjustments before continuing.
Step 4
Upon confirming the edits, you now move into the Road Customization phase. Your road preview line should now be a line of blue points. You should now also see the Road Styles ui show up on the bottom center of your screen. You can now start specifying the road to your liking.
Press the Generate button upon finishing the specfiications to see your choices.
At this point, you can continue to change the variables to your liking. When you are finished, press the Finalize button to finalize and complete your road.
ALL roads generated through this plugin will be inside Curve Folder in the Workspace.
Inside the Roadway model holds the necessary items needed for future editing through the plugin.
Help UI
If you need help, press on the Help button, it should bring up a gui that should answer all of your questions. It has a Getting Started, Style Guide, Terminology and Diagnostics.
On the bottom should have a Changelog and Credits. The Changelog is also where you would check if there is an update to the plugin.
Road Styles Menu
The Tabs This changes which of the settings will be changed, as they are grouped to each tab.
Layout This is the tab where you can change the variables all related to the physical road itself, like the width of the road, number of lanes, size of lanes, and shoulder widths. This is where you change the variables for the Two-way setting, like having a center turn lane/space and more.
Markings This is the tab where you change anything related to the markings on the road like the Lane line’s gap from each other, length of the stripe, and width. You can also enable Contrast Stripping for all lines, from the Yellow Line, Lane Lines and Shoulder Line. All have their own sub-options as well.
Surface This is the tab where you change anything related to the looks of the surface of the road. From the Material and Color. This is also where you can change the contrast striping color aswell. You are also free to have custom colors saved, they will come back when you reopen the plugin, too.
Embankment This is the tab where you change anything related to the embankment. You can turn it on or off, and change the Angle of the embankment. Colors are also customizable awsell. Custom colors are present too. This is also where you can change the variables relating to the Mirror/Wall, as you can alter the distance of the mirror, a median wall or merging the 2 to form a tight highway. Custom colors present here too.
Extra Tools - Junction Tool
The Junction Tool is best used for intersection creations,. To start, press the Junction Tool. Once in the Junction tool, select 3 edges of a part. You can select up to 5 edges.
Then press on Confirm Edges to continue to the next phase.
On each of the edges you have selected, select an edge corner. Do this for each of the edge corners you wish to connect.
After the second edge corner, you should see a white line that will show to you the predicted outline. You can edit this in the next phase, so once you have selected all of the edge corners, press on the Adjust Curves button to continue to the next phase.
At thjs point, you can adjust the tightness of the curves. Adjust them to your liking. You can also adjust the embankment to if you want it to be generated and its characteristics.
Once you have finished adjusting, press on Create Fill to generate the intersection
Extra Tools - Line Connector
The Line connector tool allows you to connect different road stripes to each other.
Start by pressing on the Line Connector button
You will need to select 2 edges, and currently it only works for parts named either WhiteStripe or YellowStripe that is either 1 or 2 on either of the Axes (for witdth).
Once the second edge is selected, you should see a line connecting both, with a floating GUI. You can now manipulate the curves tightness, and offset for the curve. Adjust it to what ever fits your situation. Once you are finished, press the Create Connection to generate the connection.
Known Limitations / Current Issues
Current Issues
- Generation of road is lasting longer than normal
- This is currently being looked into, might need a small revision on how it adjusts road lines
Limitations
“My Road lines are clipping below the road!!”
- This is more of a complication in optimization, so the only “fix” is to either add more parts for the lines or offset the lines vertically. I tried my best to get a function to automatically readjust the lines but there is only so much that the generation can do at that point.
“There are situations where my road looks corrupted!!”
- There is only so much I can have safeguards for, and it will be an endless chase to find out all kinds of things.
If you find any more, please contact me!
Future Plans
I plan to do a few more things to flesh out the plugin.
-
Allow generation to start / end with a specific banking
- I have actually started to make sure that the current code is ready for this.
-
Allow 2 different road ways to be connected to each other
- Already in the works, in fact it is working in some shape or form, but its not ready yet
-
Intersections
- IS POSSIBLE, just need a lot of time getting it right.
If you have any more features that you wish to see me implement (atleast to the best of my abilities), please let me know. Contact me at Trellux#trellux or find the MDU social link to the server.
Changelog
2.1 - The Interaction Update 3/13/2026
The Interaction Update
NEW
-
Junction Tool
Creation of intersections, with a variety of options -
Line Connector
Linking road stripes -
Settings tab
Customizable plugin theme colors and Unit options (Imperial ↔ Metric) with individual options
UPDATED
-
Embankment
Changed to be abit closer to real life, with selection of slope steepness and length -
UI Unification
Unified UI/UX design with TriTerrain
Press HERE link for previous changelogs







































