A downloadable tool

Download NowName your own price

NOTE: This will no longer recieve updates, sources can now be found here: MarcusElg/Road-Creator-Pro: Road creation tool for Unity (github.com)

Ever wanted a flexible road creation tool for Unity? Then this is probably what you are looking for. This tool is built from the ground up to support flexibility, instead of a road that looks exactly the same everywhere you can have different sections with different widths, materials, amount of lanes etc. Give it a try and let me know what you think about it!


Features

Road Creation

  

- Quickly create long roads by placing and moving points.

- Configurable options such as width and material per lane for much greater customization.

- Use any material.

- Option to have prefab lines follow the road with configurable offset; use this for example bridges and street lamps.

- Terrain deformation; choose which intervals of the road that should deform the terrain (or the whole road) to avoid deforming the terrain under bridges.

- Road preset system to easly store and load road layouts (for example a 4 lane road) so that you don't have to manually add the same lanes all the time.

- Road guidelines to easly create parallel roads.

- Configure LOD generation for maximum performance.

- Includes multiple road presets such as a 3L road with asphalt median and a 2L road with streetlights and sidewalk.

Prefab Line Tool


- Quickly place lines of prefabs by placing points.

- Configure options like prefab scale and rotation direction.

- Option to have a different start and/or end prefab.

- Option to deform to the terrain as well as the curve.

- Option to fill the gap between the prefabs for a smooth and connected object (see the concrete barrier above).

- Possibility to define a min and max spacing value to space out prefabs randomly.

- Includes a bunch of low poly signs and other road objects.

Bridges


- Includes a bunch of beautiful bridges that easily can be added to any road.

- Support for any mesh, so you can easily inport your own bridge or tunnel.

Intersections

- Automatically generate an intersection regardless of how many connected roads

- Change materials, the connection curve and more.

- Support for terrain deformation.

- Main roads which allow for a road to look like it's continuing through the intersection.

- Automatic lane turn markings, you can configure the amount, amount of repetition, distance etc.

- Options to only connect to parts of the road to avoid connecting to sidewalks, shoulders etc.

- Option to automatically connect sidewalks, shoulder and other lanes that aren't connected to the main part of the intersection.

- Options to generate crosswalks

- Configurable LOD generation for maximum performance.

Other

- Includes a traffic light object to easily add life to your city.

- Prohibited area tool to add detail to parking lots, highway exits etc

- Source code included.


Installation Instructions

1. Double click the .unitypackage file and open it with your current project.

2. Right click in the hierarchy and click 3D Object > Road System.

3. Three layers should automatically be created: "Road" "Intersection" and "Prefab Line"

4. Enable gizmos as you otherwise won't see road points

5. Click on the create road button to create your first road


Tips

1. Use road/prefab line presets to avoid spending time on recreate the same roads and again and again, multiple presets are available in the presets folder but you can easly create your own.

2. Use the side prefab lines (prefab lines tab in road editor) to create bridges and place bridge pillars.
3. Roads can be used to create other stuff than roads, for example walls. Try out the concrete wall preset to see how.
4. Terrain deformation will sometimes not be perfect so first enable terrain deformation to get a base to work with. Then disable it and modify it manually with the Unity terrain tools.

5. To blend the road better into the terrain create new lanes that work as shoulders, configure the y-offset both for these lanes and the general y-offset for the road to lower down the road into the terrain so that the shoulders cover any gaps.
6. To more easly set up traffic lights start with calculating the time it takes for one traffic light (yellow before green + green + yellow before red). If you have 4 traffic lights take this value times 3 and set that as the red time. Use the originally calculated value for the start time of each light, 1x for the first, 2x for the second and so on. This way your traffic lights will work in a natural way.


FAQ

Q: Why is this tool better than the alternatives?

A: Unlike many other options this tool allows for lot more flexibility, due to everything (width, material etc) being able to be changed over distance. So you can easily have a road that has parking spaces next to it in one section, that then becomes narrower for a crossing to finally become a normal 2 lane road. Or maybe you want a lane to have a older asphalt texture? No problem!

Q: Why did you upload it here and not on the Unity asset store?

A: It's just much more convenient to upload here on itch.io and it gives me more control over the page.

Q: Does this work for other game engines?

A: No, it's a editor extension for Unity and therefore only works in the Unity editor

Q: Why didn't you upload the tool for free?

A: I've spent a lot of time making it so it feels reasonable to earn some money from it.

Q: What Unity version is this for?

A: 2021.3 and above.

Q: Does this tool require any specific hardware?

A: This tool does utilize compute shaders so make sure that your computer supports them (most do). Note: platforms that your build your game for do not need to support them, only the device that you are running the editor on

Q: Does it work for URP or HDRP?

A: The tool works regardless of rendering pipeline but all materials have to be converted, to do this open the URPMaterials or HDRPMaterials package in the Render Pipelines folder. Everything works in all pipelines except the Prohibited Area tool which only works in the standard pipeline as it uses a custom shader.

Q: What is the license?

A: You are allowed to:

- Use it in unlimited commercial and non-commercial projects, without having to give any credit
- Use it in videos and streams
- Modify the source code

You are not allowed to:
- Redistribute the source code in any way that it is readable. (Using the tool for a game for example is ok as a user can't easily access the source code)

Feedback/bug reports

The best way is to write a comment here. That way other people can see the solutions as well.

StatusReleased
CategoryTool
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorMCrafterzz
Made withUnity
Tags3D, Unity
Average sessionA few seconds
InputsKeyboard, Mouse
LinksUnity Forum Post

Download

Download NowName your own price

Click download now to get access to the following files:

Road Creator Pro V. 1.10.9.unitypackage 1 MB
Road Creator Pro Documentation V. 1.0.pdf 180 kB
Road Creator Pro V. 2.3.1.unitypackage 2 MB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

Could you please allow downloads for previous versions? Im having errors with the intersection.cs script on 2.3.1 but they were fine with 1.10.9. Just wanted to test the other versions

Hi,

Can you please tell me how to create an intersection? I tried everything but it doesn't work. I tried in Unity 2021.3.1 and 2022.3.5.

Hey, I wanted to use your Plugin in an iOS Build but sadly I keep getting this error from one of the scripts used in Road Creator. I am a bit unsure where and what to pass, so if you have Idea that would be much appreciated!

(1 edit)

Hello, is it possible to create roundabouts using this tool?

Edit: PayPal is also banned in my country (Turkey), so I can't buy anyways. However, your tool seems quite good to me, so I wanted to appreciate your work.

Technically you could create a roundabout with roads and intersections but there isn't a simple built-in way for it. Thanks for your appreciation

Hi,

is it possible to export te final road to unreal engine please ?

and any chance to make the same plugin for unreal ?

You can convert it to a single mesh. Then Unity has an FBX exporter plugin so that you can export the mesh. Do note that some things rely on Unity shaders and would require a similar shader in Unreal

ok cool,

and what about developing a similar tool natively in unreal

there is definitely a place for you in UE marketplace :)

Paypal is banned in my country, can I buy with a MasterCard?

Sorry

Hello, I'm from Iraq, I can't create a PayPal account that is banned in my country. Can I buy without a payment method?

I can only take paypal but could you ask som family of friend to buy it for you?

(1 edit) (-1)

Highly recommend! 

I won't say it better than easy road 3d, but at last as good as easy road 3d, the problem is it missing the good texture, but it is easy to fix, also there are no document, you need to go to discord to read other user how to use it.

One thing I want is the road slope measurement, in the mountain, sometime you don't know the road slope is too stiff, also if there are auto smooth the handle will be great.

I brought it, but I can only download the newer version road creator, how can I download the older version?!

(1 edit)

Why do you want an older version? What version do you want?

Not at this moment, but for compatible reason, maybe later it will be useful

is there a A completed example file to look at
that can be downloaded ?


Not at this moment. But the tool is very easy to use and I'm always here to help people out. There are some road presets and stuff tho in the package

Any plans for a more realistic look?

(1 edit)

I'm a programmer, not an artist. Instead of me spending loads of time creating a realistic look, that probably won't look good and increasing the file size by 10x, you can use any material. I feel like people want to use their own materials anyways, the default ones are just simple ones to show the system. If you want realistic textures I recommend textures.one . The roads, intersections etc use normal materials so no custom shaders are used (except for the prohibited area)

Hi.   I just purchased this asset.   It looks great.   I’m using 2019.4.   Shift + left click doesn’t appear in the scene, only the terrain highlights.  Any thoughts?   Thank you.

(2 edits)

Thanks for buying the tool! Could you send a small video so I can see the circumstances where it happends? I will look into it.


EDIT:

I just tried out the tool in a brand new Unity 2019.4.18f1 project and did not have any issues at all:

https://streamable.com/keeq9h

Have you selected your created road object? Let me know if the issue persists

I'm curious, how does this do with intersections that aren't 90 degrees? Can you do any variety of angles? When I messed around with Road Architect, it didn't like that very much. (But overall that was a really well designed tool!)

(3 edits)

Thats probably the biggest advantage with this tool! You van create dynamic intersections with any amount of connections that connect from any angle

Quick example:


With the main roads feature you can make a road visually continue through the intersection. You can also place lines manually. Also worth noting is that you can move all the connection points and the curve points to get exactly the shape you want

Awesome, I’ll definitely be giving this a try then! thank you!

okay, you have made my night :) this is something I've really been looking for!!!!

Thanks for buying the tool! The roads look very black so you need to rotate the light a bit :P

Hey, just purchased your tool. Amazing work!. 
I wanted to email you privately about some things but I could not find any contact details.
Can you please share some? 

(3 edits)

You can contact me at: marcusbusinessmail@yahoo.com


Thanks for buying the tool!

(1 edit)

Hey, I have an issue with the asset. The materials on the road does not change. Changing to a different material has no effect. I've got the layers correctly.


I'm using Unity 2020.1.10f

(1 edit)

Go to the lanes tab, there you can change material per lane. If you assign the material manually then it'll change when the road updates.

I did exactly that in the picture above. However it did not change anything. Updating the road provides no effect.


(3 edits)

This is probably due to light as it is entirely black in the picture. If you rotate you main light source a bit then it should work. This was done in 2020.1.14f1:


(1 edit)

Hello :) i Bught it and  how can i get the Start and end connected?

am Using Unity 2019.4.12

normal intersection is working but some how when i make the road like a track the end wont connect with the start red cylinder ii made a road trying to having it closed like a race track :)

included photo :)

So far i Love the product :D

(1 edit)

Thank you for buying the tool, I really appreciate it!

The reason why I haven't allowed a road to connect to itself is that it could have quite a few bieffects that are hard to estimate. I have released a new version that does allow this tho with a few limitations. So you can connect the start and end point together into an intersection now. By moving the points and removing turn marking your players won't ever know that there's an intersection there.

I would still recommend creating two roads and connecting them to create a circuit (the old way) but it's up to you. Often you want some kind of split road or pit stop or something depending on what track you create, so in those cases it'll be multiple roads regardless.

Check out the latest update and let me know if you have any more thoughts! Good luck with your game :D

oh oh i see, yes i can think on the mesh generatin maby also texture might give strange effects when connected specially if they are not 100% same rotation and connected :) Oh Cool Sweet :D yes i did noctice that workined creating extra road as a bridge in the gap sort of hehe :)

yes thats true hehe i might create race track style too for my game like the 3 bonus tracks was in NeedForSpeed4, since old needforspeed is my inspiration/Spirtual Style game :) Love it i will chek it out :)

Btw the latest update does include a cyclic road toggle which could be useful for your use case

Oh Nice :D Awesome Thank you :D

(1 edit)

Will it work with unity 2019.4 or later. I love this asset but when I seen free version of it it doesn't work. Thanks in advance.

(2 edits)

Yes it defiently should. If it doesn't then let me know and I'll update the tool

Also this is written from scratch and is quite different from my previous free road creation tool.

ok thanks for your reply.

Hi MCraterzz, I downloaded the tool and got it mostly working except for the Materials. We are using Unity 2018.4.10f1 and I'm not sure if we need to do something to get it to work. The road builds just fine, but no textures show up on it. Please advise?

 

(3 edits)

I created the tool with 2019.3 but it may work in earlier versions as well. Have you added the material to the materials list that you are showing in the picture? How does the material look? It's provably best if you could record a quick video.

I will download 2018.4 tomorrow to see if that has an effect on anything but I'm guessing that you are creating a new project so what is holding you back to that Unity version?

Unfortunately, I have to use this version of Unity. When I go to assign a material where it says Physic Material, no materials pop up in the list, so I assume we don't have a compatible material in this version (a Physic Material?)

(4 edits)

the materials list is a foldout. Click on it and there will be a list where you are able to add a material which changes it visually. The physic material property takes in a physic material. I cam sent a short clip in a few hours.


EDIT:

I've tested it with 2018.4 and there are some names that are different so there are a few manuell steps you need to follow:

1. Remove all [SerializeReference] attribtues in RoadCreator and Intersection

2. Change DrawPositionHandle in the Utility class to the following:

 public static Vector3 DrawPositionHandle(float handleSize, Vector3 position, Quaternion rotation)     {         Color color = Handles.color;         Handles.color = Handles.xAxisColor;         position = Handles.Slider(position, rotation * Vector3.right, handleSize, Handles.ArrowHandleCap, EditorPrefs.GetFloat("MoveSnapX"));         Handles.color = Handles.yAxisColor;         position = Handles.Slider(position, rotation * Vector3.up, handleSize, Handles.ArrowHandleCap, EditorPrefs.GetFloat("MoveSnapY"));         Handles.color = Handles.zAxisColor;         position = Handles.Slider(position, rotation * Vector3.forward, handleSize, Handles.ArrowHandleCap, EditorPrefs.GetFloat("MoveSnapZ"));         Handles.color = Handles.centerColor;         position = Handles.FreeMoveHandle(position, rotation, handleSize * 0.15f, new Vector3(EditorPrefs.GetFloat("MoveSnapX"), EditorPrefs.GetFloat("MoveSnapY"), EditorPrefs.GetFloat("MoveSnapZ")), Handles.RectangleHandleCap);         Handles.color = color;         return position;     }

3. Change SceneView.duringSceneGui += OnSceneGUI; to  SceneView.onSceneGUIDelegate += OnSceneGUI; in ContextClickSelect constructor.


There is one more steps but I'll upload a update with that in a few hours which fixing you not being able to open the material foldout. If you want to fix it now then change  EditorGUILayout.PropertyField(serializedObject.FindProperty("lanes").GetArrayElementAtIndex(tab).FindPropertyRelative("materials"));

to  EditorGUILayout.PropertyField(serializedObject.FindProperty("lanes").GetArrayElementAtIndex(tab).FindPropertyRelative("materials"), true); in RoadEditor.


I'm sorry that you have to change things manually but as Unity changes names I can't create a version that automatically works for both and these changes should only take like a minute with Find And Replace.


EDIT 2: The update has now been posted so if you download it and also follow the instructions above the tools should work in your Unity version.

Thank you very much for your help!

(+1)

Hello! I just completed a purchase with paypal, it was charged to my account but I got an error, and couldn't download the tool. I sent you an email with pictures of the whole problem. Thanks in advance for looking into it.
Best regards,
Patrick

(-1)

The PayPal transaction has now been accepted so you can download the tool. Thanks for buying it and let me know if you have any questions or suggestions!

(1 edit) (+1)

Thank you very much, I already received the email for the download.

If I might suggest something, would be a way to create the roads, intersections, etc... programatically. I know I can just look into the code and figure it out, but I’m sure with all your knowledge of the inner workings it would be much simpler for you to “explain” how to do it in a easy way

and I have to say this: YOUR TOOL IS EXCELLENT! One of the best I’ve seen... you could charge more for it if you wanted.

Best regards, all the best!

(1 edit)

Thanks for your very kind words! I feel like quite a few Unity assets are overpriced so I don't wanna contribute to that as I want it to be feasible for smaller developers to buy them as well. If anyone wants to then they can choose to pay more to support me. I would be very thankful if you could recommend this tool to your friends/colleges. Thanks!

(1 edit)

Btw I noticed that I didn't really answer your question about runtime mesh creation. The problem is that the tool isn't structured for that at all so most functions are in the editor scripts. Some stuff probably can be moved but there are still 2 problems:

1. Classes like Bezier are used which don't exist at runtime so I'd have to create my own classes to replace those (totally possible).

2. Editor functionality is so nested into the methouds, what I mean with this is take the create point methoud for example. It changes editor handle ids of points which is located in the custom editor class. It becomes complicated.

So it is possibility but would require quite a bit of work.