ProBuilder Tutorial: Rapid Prototyping in Unity
- Getting Started
- Installing ProBuilder and Exploring Its GUI
- Behind Prototyping
- Learning the Basics
- Controlling Your Camera to Boost Your Productivity
- Basic Tools
- Creating Basic Shapes
- Extruding and Insetting
- Adding Loops
- Non-Standard Shapes
- Procedural Shapes
- Vertex Painting
- Making a Donut
- Making an Arch
- Polygon Shapes
- Export — Import
- Useful List of Shortcuts
- Where to Go From Here?
ProBuilder is a Unity in-editor prototyping tool that has everything you need to block out your level and create new game worlds in the blink of an eye. This tutorial will teach you the basics of how to use it.
Have you ever wondered how professional developers start building complex and astonishing video game worlds? Have you ever dreamed of creating one of your own? Dream no more! Unity has got you covered: ProBuilder is here.
ProBuilder is a Unity in-editor prototyping tool that has everything you need to block out your level and create new game worlds in the blink of an eye. And this tutorial will teach you the basics about it.
When you finish reading, you’ll understand the core concepts of prototyping. You’ll also know how to:
- Install the API and understand its user interface
- Create basic shapes
- Perform basic 3D operations
- Use procedural shapes
- Apply vertex color to your objects to convey certain characteristics
This tutorial requires Unity 2020 or later.
Download the project files by clicking the Download Materials button at the top or bottom of the tutorial. This archive contains the Starter and Final projects.
Unpack the archive and open the How to Use ProBuilder for Rapid Prototyping in Unity project in Unity. Your journey begins!
For this tutorial, you’ll only need to locate the Scenes folder. The remaining folders contain helper files, some 3D objects and materials.
Installing ProBuilder and Exploring Its GUI
First go to Window ▸ Package Manager ▸ ProBuilder. Click the ProBuilder tab so you can see its content.
Now, in the bottom right-hand corner, you’ll see a Download or Install button. Click it.
Keep in mind that ProBuilder will only be installed in your current project. When the installation finishes, close the window and you’ll be ready to go. Super easy!
As ProBuilder is a Tool, your access point to its API (its GUI) is in Tools ▸ ProBuilder ▸ ProBuilder Window.
Welcome to the spectacular, colossal, new, super-duper, mind-blowing, supercalifragilisticexpialidocious Unity prototyping tool!
[spoiler title=”Window GUI”]
[spoiler title=”Catto joke”]
The small window that pops up is the GUI of this new tool. For a fancier-looking version, you can right-click on the window and change the mode to Icon.
Before continuing, you’ll pause for a moment to learn some general concepts about prototyping.
In game development, almost everything is about time. That’s why developing efficient workflows, including prototyping, is so important. In practical video game terms, prototyping is a pact.
What’s the agreement in this pact? You deliver a quick unpolished version of an object, called a Prototype, with a promise of better future versions, until you deliver the final product.
What’s the advantage of the pact? As you’re not blocking the workflow, everybody — including you — is free to focus on their tasks.
Bear in mind that your prototypes, whatever they are, must mimic or resemble the final product: the archetype.
An arche-what? To make it simple, the archetype is the “perfect”, “final”, “polished” version of something that you want to create.
For example, say you need a tree. You may waste a week making a perfect 3D model of a tall, beautiful tree, with branches, twigs, leaves, UV maps, textures… and block everybody else’s job until you finish.
Or you can say: A tree can be broken down into a green sphere for the crown and a brown cylinder for the trunk. Job done, what’s next?
If you’re in a hurry, cubes are the perfect solution — like a proto-prototyping, if you will. This is the fastest way.
For example, assume you don’t even have the time to make a proper prototype. Say you only have 30 seconds, but you need that tree… feel the urge? Make a proto-proto tree. No roots, a cube for the crown, a stretched cube for the trunk. Done! You are the Lord of the Prototypes… (without the ring, the elves, a good story, Hugo, McKellen, Viggo, swords or fun).
Learning the Basics
Now that you understand more about prototyping, it’s time to learn basics of ProBuilder so you can start creating levels right away. What differentiates pros from the rest is that they have consistent workflows and suitable methods for doing things. For this reason, it’s of the utmost importance that you learn the content of this section by heart before moving on.
Controlling Your Camera to Boost Your Productivity
Open Assets/RW/Scenes/0_Camera by double-clicking it. This is a simple scene and you only need to focus on one thing. Try to locate and navigate to the plane in the Scene tab, somehow.
In the Hierarchy tab, you’ll find a GameObject called Build a cube here. Select it. And again, find a way to navigate to it in the Scene tab.
Have you found it?
No, wait, no, stop doing that. Ah, ah… nope… nope… that’s… this tutorial is over unless you… stop panning and tilting and hard trucking your camera.
The next GIF shows what most people (including most professionals) do with their cameras. They press the right mouse button to enter fly mode and use the WASD keys to move around, like this:
Whether or not you identified with the last GIF, from now on, you’ll do it like a pro, using a consistent method.
Here are the general steps you can use to quickly and efficiently create prototypes in Unity with ProBuilder.
- Choose a base GameObject.
- Focus by pressing F or MMB (middle mouse button).
- Create a new shape (by clicking New Shape or Control-Shift-K) with the ProBuilder window.
- Parent the GameObject created.
- ReFocus by pressing F on the GameObject.
- Choose or be aware of selection mode, e.g. if this is an Object or Element.
You may be wondering why you have to do it like this. Using a process like the above is one of the shortest, fastest, tidiest ways to create an object for prototyping, and navigating in Unity.
Now, try it for yourself:
- Choose Build a cube here in Hierarchy ▸ Level Geometry. This will be your base GameObject. Select it.
- With your mouse inside the Scene tab, press F. This tells Unity to focus the scene camera on the selected object. In the case of MMB, Unity casts a ray from the Scene Camera and returns that point as focused.
- Create a New Shape. You can press the button New Shape in ProBuilder’s GUI or you can press Control-Shift-K. In either case, you’ll see an object appear in the scene.
- Put the GameObject inside a parent. Drag and drop the newly instantiated object into a parent object. In this case, the parent GameObject is Build a cube here.
- Refocus by pressing F on the newly created GameObject Cube.
- Notice the mode the object is in. In this case, it should be Object Selection mode. From left to right the options are Object Selection mode, Vertex Selection mode, Edge Selection mode, Face Selection mode.
What do some of the steps in the list above have to do with pro camera management? Because, from now on, you’ll never ever tilt, truck or pan your camera as if you were releasing repressed anger against it. If somebody else is watching you, they’ll be pleased too.
Press Alt and LMB (left mouse button) to gently rotate your camera, Alt-RMB (right mouse button) to accurately zoom your camera, or Alt-MMB to soft dolly your camera.
Now you’re truly an object-creator-camera-manager-Unity-pro developer. And you’re ready for the next step.
Open Assets/RW/Scenes/1_BlockOut. This scene contains a city constructed with various prototype parts.
You can press play to take a tour around the city. It’s nice to know you can test the game. It seems the game designer and the game artist have been working while you were preparing to continue blocking out the level.
This scene is divided into four sections, and each one represents a level of complexity. You’ll use the first three.
Using the Hierarchy window, navigate to Level Geometry ▸ First Level and expand until you see the You Build Cube Here GameObject.
Remember the steps? Focus on the You Build Cube Here GameObject by pressing F. Create a New Shape using ProBuilder’s GUI.
Next, use QWERTY keys to move, rotate and stretch it.
Your task is to build a skyscraper. Try selecting the scale tool and stretch the new shape quite a bit.
You are probably panning… or tilting… and/or hard trucking your camera again, right? Old habits die hard. It’s OK… no it’s not, that’s a paddling!
This is the fastest way of prototyping, but it comes with a setback: You’re directly stretching the GameObjects scale. That’s no good, so use this sparingly.
Oh, you forgot to parent the GameObject. That’s a paddling. Put your new object where it belongs. Parent the new Cube shape to the You Build Cube Here GameObject.
Notice this whole part of the city is made up of stretched cubes. Do a flyby if you need to.
Creating Basic Shapes
In the Hierarchy, move on to the Second Level.
You’ll find a You Build Cube Here, and you know the drill. Follow the steps:
- Select the GameObject and press F to focus it in the Scene view.
- Create a New Shape using the ProBuilder window.
- Parent the new GameObject to You Build Cube Here.
- Focus again with F.
- Be aware of ProBuilder selection mode.
This time around you’ll learn about selection mode. Check the four icons that appeared when you opened the ProBuilder’s GUI.
There are two groups. Object Selection is represented by a cube, and the other three element modes are: Vertex Selection, Edge Selection and Face Selection (in that order).
Be sure to select one Element so you don’t mess with the scale or rotation of the object. Now, select Face Selection and move faces around on your new shape until you’ve created something that resembles a building. Play around until you come up with something you like.
Congrats! You’ve created your first skyscraper.
Extruding and Insetting
Functions like extruding and insetting are frequently used because they add meaning to your object, so now it’s time to play with these.
Extrude a new rooftop by selecting the uppermost face of your GameObject by pressing Control-E. You can move the face around with common Unity Move, Rotate and Scale tools (keyboard shortcuts W, E, R).
Now add a slanted face. To do that, you need to extrude the entire right face (from your perspective). As in most 3D software programs, you can add to your selection by holding down Shift.
So, select a face from the right side of the building, and by holding down Shift, select the other. Now, you can extrude them by pressing Control-E. Trick: If you hold Shift while using the common Move tool (W), you’ll also extrude a face.
One last step: Change to Edge Selection and move the uppermost edge from the newly face created down. And there you have it, a slanted face.
What else can you add? A parapet! Select the uppermost face (remember to choose Face Selection mode) of the first structure you made. Extrude it up just a tiny amount. Imagine what the parapet looks like in comparison with the rest of the building.
Since you’re up here, you’ll learn how to inset.
Select the uppermost face (remember to choose Face Selection Mode) of the first cube you made. Change the Scale tool by pressing R. Now drag the center handle (the gray one). The face increases and decreases its size. It works as you’d expect, but that’s not what you want in this case.
If you need to, press Control-Z to undo changes. Now repeat the last action, but while holding down Shift. Voila!
If you feel that the Scale twool changes too fast, add Alt to the combination. That way, the Scale tool will reduce its influence. Controlling this technique will enhance your workflow.
Adding faces and complexity makes construction more interesting, so feel free to apply what you’ve learned and add more details.
In case you need a refresher on the techniques learned so far:
Moving on, you can make your building even more complex by adding headers. In Edge Selection, select a vertical edge on the side of the building and press Alt-U while targeting that edge.
You can move edges, faces and vertexes around. Notice that loops are created perpendicular to the selection. And, of course, you can move them apart using Unity’s basic move tools.
Move the newly created horizontal loop up with the Move tool. Once the two loops are in position, just below the slanted face you created earlier, you can select the entire loop (group) of faces by pressing Select Face Loop in the GUI or by selecting one face, pressing Shift and double-clicking the same face. Easy!
Now, with all your faces selected, press Control-E to extrude a header.
Practice and try to make your own simple building. Add another header and more faces. Keep it simple!
Now that you know how to create standard shapes, it’s time to move on to creating non-standard shapes.
Luckily, if you want to get into more complex shape building, Unity has you covered.
From now on, you’ll create shapes by pressing Shift-Control-K. So, remember The Five Point Palm Exploding Heart technique… err… no wait, the Six-Step Method to Creating Anything With ProBuilder technique…
Do you love trees? Go to LevelGeometry ▸ Second Level ▸ You Build Tree Here and follow the drill again:
- Select your base You Build Tree Here and press F (if not in sight) to locate it in the scene.
- Once you see the green arrows, press the MMB against the street floor.
- Press Control-Shift-K and you’ll see a new window pop up. A greenish cube will appear where you clicked. This is a ProBuilder procedural shape. Click it and press F again to focus on it.
Why is it greenish? This means that unless you press the Build button in the GUI, Unity won’t confirm its existence in the Hierarchy.
Every Shape has different settings. In the case of the cube, you can, for example, make a cube with Size (X: 10, Y:10, Z:10) out of the box by changing the X, Y and X values.
Notice that when you press Build, it’s only then that Unity assigns a new material telling you that object was in fact created.
Back to the tree. Follow the technique (oh, you’re getting good at it). This time, select Cylinder and make it resemble a trunk. Don’t forget to Build it, then name it Trunk and parent the GameObject afterward.
Then repeat the whole process, but this time select Sphere. Check that the sphere has Subdivisions (determines the amount of triangles the mesh will have), and a Radius (that represents the overall size).
You can stretch the top of the tree using the Scale (R) tool. How can you select all the faces at once? Enter Face Selection mode. Click on an empty space and drag to select all faces. And there you go. A beautiful tree!
To borrow from Men in Black, fifteen hundred years ago everybody thought the Earth was the center of the universe. Five hundred years ago, everybody thought the Earth was flat. And fifteen minutes ago, you thought Unity didn’t have a ProBuilder API. Imagine what you’ll know tomorrow.
Moving on, do you want to know how to paint your tree? Be warned: This is the most difficult, arduous, backbreaking, titanic action ever performed by a game engine in the history of game engines.
Select the Trunk GameObject in the Hierarchy. Press F to focus. Locate the Vertex Colors button on the ProBuilder’s tab.
A new window will pop up. Press Apply on the color you want. If you don’t like any of them, click the dropper on the right and select the color you want.
Seriously, that’s all.
Paint the top of the tree, and that’s it for this part.
Remember that the prototype should resemble the archetype. Green means the tree is alive and that it has leaves. Imagine what a yellowish color would mean.
Remember that this tutorial is about prototyping, but it’s also about showing off ProBuilder and what you can do with it. So, sometimes you need to deliver prototypes that are better or more specific than a bunch of cubes. After all, games are all about conveying and projecting sensations and feelings.
So, suppose you want to block out a simple city. Suppose you want to convey some humor and, at the same time, transmit a sense of tranquility and familiarity. Well, add a park, add people, and add some common everyday stuff.
What? A coffee shop? Why not a donut shop! Welcome to WenderDonuts!
If you take a look around, everything has been made, painted and arranged using ProBuilder. It’s your turn to add something. Follow the next part of this tutorial.
Making a Donut
Inhale deeply. Can you smell it? The smell of a fresh-baked chocolaty donut? Aaah.
Locate Third Level in the Hierarchy. Go to You Build Donut Here. Press F to focus.
This time, you’ll need to trust that Unity will create your procedural shape in place. Press Control-Shift-K. You might be tempted to create a cube, or to create a cylinder and stretch it, but Unity has put a Torus in the Shape Selector.
Select the Torus shape, but before starting to change it, it’s a good idea to have it in the right place.
Make sure you are in Object Selection Mode, then use the Move and Rotate tools to position it the way you like until you feel it’s part of the WenderDonuts sign.
Now tweak the values. Although they should be self-explanatory, it’s best to familiarize yourself with them. For instance, you don’t need to change the Rows or the Columns amount unless you see the quality of the mesh is too low.
In this case, you only need to change Radius and Tube Radius until you see something similar looking to an edible donut.
Once your donut is in place, press Build. Parent the donut to You Build Donut Here.
In RayWenderLand, donuts without glaze are illegal (and that’s punishable by a paddling). As you already know how to paint, it’s just a matter of selecting faces. Select the donut, focus in on it with F, and change to Face Selection mode.
Now, you could be tempted to select faces one by one. But, it’s easier to select half a column. Then, if you press Alt-G or the Grow Selection button, Unity will select all rows across.
Click Vertex Colors to select a color for the glaze area face selection. Now to do the other side. Press Control-I or click the Invert Selection button in the ProBuilder editor. Choose Vertex Colors again to choose a different color for the other side. Have fun!
As it’s difficult to explain face selection by typing, here’s a visual aid:
Add some sprinkles to make it yummier! Use MMB to position the editor location for each sprinkle placement. Press Control-Shift-K to open the Shape Tool window. Select the Cube shape and hold Alt while moving values around. This allows you to make precise adjustments to add sprinkles.
These values should be OK:
- X = 0.08
- Y = 0.39
- Z = 0.1
Click Build. Now make some copies, paint them with Vertex Colors, and rotate them to your liking. Remember to parent them to the Donut. Then you’re done!
Making an Arch
Now that you’ve mastered donuts, it’s time to make an arch. The intersection between the street and the bridge seems to be a good place for this, so go to You Build Arch Here.
The instructions must look familiar to you by now. Can you do this step from memory? Try it!
After you press Control-Shift-K, search for Arch. In this case, the arch needs some tweaking.
First of all, in Object Selection mode, change to the Rotate tool and make sure the arch crosses the street.
Ironically, it’s difficult to picture the size of the arch in perspective view. But Unity has you covered with Isometric and Orthographic views.
The Scene window shows the world coordinates in the upmost right corner. Press Y to look from above and then press Top (for the orthographic view).
If your cat stumbled over your keyboard and messed up your Arch shape settings, don’t panic. Use these values instead:
- Radius: 6.5
- Thickness: 1
- Depth: 1
- Number of Sides: 8
- Arch Degrees: 180
Once you’re satisfied with the values, press Build.
Now, Select the two faces of the Arch that are facing down (Use Face Selection mode). Press Control-E to extrude, and move them near to the floor. That’s a nice arch portal.
It’s awesome to have procedural shapes, cubes, cylinders and more, but what if you want to make a gingerbread person? You guessed it: Unity can do that too.
Follow the usual method step by step, only this time, instead of creating a new shape, select New Poly Shape from ProBuilder’s tab.
Your mouse is now a vertex creator. So, every time you click, Unity will ‘catch’ a Vector3 position in the editor and create a vertex there. You can go on drawing whatever you want. To confirm your creation, press Enter.
Careful here! After following that last step, your mouse will take the perpendicular (normal) direction to the original figure you’ve drawn and extrude it.
You’ll confirm the final step by clicking once more. It’s OK, you can go back using Control-Z, as Unity’s undo is awesome and quick.
Save the scene to capture your progress.
Export — Import
Moving on, it’s time to learn how to export and import objects created using ProBuilder. To begin, you can create in-depth detailed objects in separate scenes, and then, when you’re satisfied, you can import them into a working main scene.
Go to 2_ExportImport in the Scenes folder. Open it. Select Level Geometry in the Hierarchy and press F to center the view on it. Take a look at that! Isn’t it awesome?
But what if your team leader asked you to put it in the main scene (1_BlockOut)? With ProBuilder, it’s easy! Go to Tool ▸ ProBuilder ▸ ProBuilder Window and open the GUI, if it’s not open already.
In the Hierarchy, go to Level Geometry ▸ Reference Plane ▸ Altar and select it. In the GUI, there’s an Export button. Click it.
This will export your object as an .obj file, along with all its children. Find a good place to store it in your project folder.
Lastly, reopen the BlockOut scene. You can bring your altar back by dragging and dropping it to the Models folder as you would any other obj. It’s that easy!
From there, drag and drop it in your scene and place it wherever you like.
Useful List of Shortcuts
Now that you’ve mastered the above, here’s a short list — that is not by any means thorough — with the most frequently used hotkeys.
All Selection Modes
- G to go back to object selection and return to the last state.
- H will toggle select mode (Unity also uses H to hide objects from view, but you can rebind it).
- Alt-B to bridge edges
- Alt-U to insert an Edge loop
- Alt-R for ring selection
- Alt-L for loop selection
- Shift-Control-I to invert selection
- Shift-movement to extrude an edge or a face
- Alt-S to divide the selected edge
- Control-E to extrude
- Backspace to delete a face
- Shift to add more faces to your selection
- Alt-C to collapse a vertex
- Alt-X to separate a vertex into two
Where to Go From Here?
Download the completed project files by clicking the Download Materials button at the top or bottom of the tutorial.
Congratulations, you made it. If you want to keep learning, go check out the Unity ProBuilder Manual.
If you want an extra challenge, do you see the tall building on fire?
That’s how you can prototype a proper protofire. Test your skills. Create a ladder to save everyone in the building. The idea is that you can tweak the values until the ladder reaches the window.
Creating games is an art. To hone your skills, look for books about level design, level art and game design.
In any case, practice, practice, practice until you feel rapid prototyping is second nature to you and you remember most of the commands.
Go ahead and copy levels from your favorite games or real landscapes. The possibilities are endless.
We hope you enjoyed this tutorial. If you have any questions or comments, please join the forum discussion below!