[UPD] CivilArc Road Toolkit (Fmr Bezier Curved Road Generator)

CivilArc Road Toolkit

(Formerly Bezier Curve Road Generator)

Version 2.1

Install Plugin

“Create curved roads with ease!”

Changelog
https://devforum.roblox.com/t/bezier-curved-road-generator-update-log

I present to you my recreation of @Hydrolock 's BezCurve Road Builder!

Original Plugin


What does this do?

This allows you to create curved roads with ease! A lot of customizations to create the road that you want!

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.

  1. Allow generation to start / end with a specific banking

    • I have actually started to make sure that the current code is ready for this.
  2. 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
  3. 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

Thank you for stopping by!

22 Likes

This is super cool well done! Will you make one for cart ride games in the future?

What do you mean by this? Technically this plugin can work with all models, it just has to be named Road. The highlights currently work to show that it has all of the requirements for the plugin to work properly (and to get the correct results). It can have anything inside, just as long they are orientated properly. So really, it can work for cart ride. I can probably provide a variant without specific FHWA standards so it can be more loose.

Ohh gotcha, I was under the impression that the plugin only creates roads. To clarify I was wondering if I can use this to create rail road tracks like in cart ride games. Is it possible to create something visually similar to this?

image from this post:

1 Like

It can, but the plugin right now is restricted to the standards of the FHWA, that’s why I named it a Road generator. I can definitely make a variant that removes the hard-coded restrictions so it can make the one in the picture. To be real that is similar to the first version after reworking the plugin, so yea I can make it like that again.

1 Like

Thanks man, that be much appreciated :smiley:

I deployed an emergency update to the plugin, I apparently pushed an update with stuff inside, which broke the plugin.

So if you installed the plugin before you see this post, please update!

I believe it can, just that the track parts have to be aligned properly, and that only the track are parts, and orientated properly. The gravel bed can be parts but may get generated wrong.

Overall it can, just some quirks and that this plugin does follow the FHWA standards for roads, so it may not be what your looking for. Look 2 post above your post. I do plan to release a more loose variant for other stuff, or somehow incorporate it in.

Hey all, Happy New Year!

Currently working on an update to the plugin that brings a new feature: Lanes generation!

The plugin now allows you to set lanes that will get generated along side the road generation. You have the control on how wide and how much spacing each stripe will be. Currently working on allowing edits on the length of these stripes as well, so count on it being in the update!

Here is a video on the current state of the updates

Just note that there’s a few things in the video that will not be in the update, as they are just debugging stuff I added in.

Also there will be a major change in the instructions on how to use the plugin, mainly on what models can be used as there are new functions that look for certain aspects of a model to implement road lanes accurately.

I am currently working on 2 things on top of this update, one is the unrestricted version so you can possibly make roller coasters or something, and the other is allowing the starting section and the ending section to not be flattened out so you can make inclines on top of inclines without the road generation being smoothened out.

Anyways, stay tuned for the update!

1 Like

Definitely excited for the update! It’s about time we get a new bezier curve road plug-in that’s comprehensive and works well. Been too long without the ability to do this.

1 Like

Update 0.5 has been released!

Enjoy the new Lane generation and improved UI!

Please reread the instructions as there have been some changes in how the road generation will use your road model!

I do plan on an overhaul of the UI and finally getting the custom start and ending banks, I planned to get it in to 0.5 update but it didn’t work out.

Anyways, for an update on other things

The unrestricted variant script is now going to be the primary focus, up until its atleast presentable and actually functions. I will not set a expected release date, maybe when it’s close to how it should function

The custom angle of the banking at start and end will take a while, as I need to fundamentally change how it even does the curves and banking, its complex and really “fragile” in the code, I will make do with something.

Anyways, see you around!

1 Like


So I noticed on some certain banked curves I get this janky thing, even on lesser curves I get this (I know this one is kind of an extreme example).

If you could find a way to fix this, that would be great! :slight_smile:
Also, I have been playing around with it, this is awesome work! Keep it up!

1 Like

Can this be updated soon to generate sideways?
I really wanted it for more realism to my games

Sadly this is a function to comply with banking and elevation change at the same time. Its a part limitation unless I find a way to make it a mesh, and that’s really beyond the scope of my knowledge.

I even limited the banking just a bit below the actual maximum so this can be mitigated by just a little.

Who knows, I will try to find some solution but its pretty hard without going through the entire code

1 Like

Can you explain what you mean by “sideways”? Like Mario Kart 8 tracks? If so that will be in the unrestricted version I’m currently working on

Heyo!

It’s been a while since the last update, but don’t worry, I haven’t forgotten this plugin! I just had to deal with several stuff that really slowed development down, even through out the summer. But since things have cleared up, I decided to resume in the major update that I have been wanting to get going.

So what is to be expected in the next update (0.7, Yes! a big leap, really)

Proper triangulated roads! I have finally managed to get triangles to work properly and it will be replacing the very heavy on parts duplication system that I have used, which made banking look really odd with “steps”. With this new update, that is gone, completely! The ENTIRE thing is generated by triangles this time around, and should be lighter in the part counts.

I will share more details later on as I get closer to what I think would be a release-candidate.

Check the screenshots below!

You think that might be all I have done in essentially almost a year, nope! I have more!

I present to you, a Triangle terrain generator! (Official name soon, hopefully). Check the video out on what it can do!

I will create a dedicated fourm on it soon enough.

For a dedicated rollercoaster variant, That sadly had to be shelved throughout this time, but I am coming back to that idea when I get the time, It wasn’t working well and rather dedicate a full dedicated version for it. Will have more words later.

Anyways, See you around!

3 Likes

Well, it has arrived! Check it out here

Anyways, back to getting this plugin updated too. Might be a bit though!

Cya around!

Heyo!

The time is finally here! 1.0 has been published, it’s essentially a brand new plugin, so many changes internally and visually, this definitely took it’s time. Hope you guys also check out the TriTerrain plugin aswell, that will recieve it’s first update to introduce custom colors.

If you guys see any issues, please let me know!

See you guys soon!

1 Like

Heyo!

I deployed a emergency hotfix that had the embankment stuck to never go below the first instance of embankments, which lead to wierd embankments if the road goes below p1’s Y value.

Its all good now so if you are seeing this and you have this plugin installed, please update!

No version change.

Cya around!

1 Like

Heyo!

I just wanted to show a bit of a preview of what is coming next in the Version 1.1 update, which is set to release sometime next week.

In the next update, I am introducing the possibility of creating a mirrored generation! I kept this away from the 1.0 update as I couldn’t properly get one of the features to work properly, but I have finally gotten it to work.

Essentially, you can create really nice sections of divided highways with relative ease!

It’s still pretty early, but it is currently pretty stable, but there are still quirks that still show here and there.

The next update should also include the fixes for the auto-widening of the shoulder line/lane, the hatched center lines, and the Center Turn lane lines as well. It also includes the No Banking update for those that don’t want banking being generated.

Anyways, here some more images of what can be possible with this update! Hope to see you then!

Please Note: These images are using a preview build of the plugin, and what you see might change in the release

1 Like