Prefab World Builder

PWB provides you with a comprehensive set of tools for placing and editing objects.

Prop Placement Tools
Pin Tool: Place one object at a time. provides you with shortcuts to quickly rotate or scale the object from different points, including the corners of its bounding box.
Brush Tool: Place large amounts of randomly scattered objects. Great for painting Foliage (details, trees, rocks).
Gravity Tool: Physics-based placing tool. It allows you to add objects to the scene in a more organic and natural-looking way.
Line Tool: Place objects along a Bezier path. Great for creating fences easily.
Shape Tool: Place objects along a shape (Circle, triangle square or polygon).
Tiling Tool: Place objects arranged in a grid. Ideal for creating floor and walls.
Replacer: Replaces objects circled around the cursor with prefabs from the selected brush.
Eraser: Erase objects as in a drawing editor.

Selection Tools
Selection Tool: It adds handles to the vertices of the bounding box of selected objects. Extends and complements the functionality of the unity transform controls. Allows you to rotate and scale the selection from the corners and midpoints of the selection bounding box, and from a custom local point.
Extrude Tool: Creates copies of the selected objects in the direction defined by the handle.
Mirror Tool: Create a mirrored copy of selected objects.

Grid and Snapping Tools
Helps you build modular environments.

Links

Video Demonstrations

Please post any feedback, suggestions or ask for support or missing features here.

Ps Layer | Psd Import | Transform Tools | Play Mode Save

1 Like

Any way you could add a feature to flatten terrain when spawning? Would be great for spawning buildings.

Interesting, Iā€™ll keep that in mind for a future release, although it doesnā€™t seem like an easy feature to implement, especially since there are so many ways to flatten the ground.
Anyway, when placing buildings, you can turn on the ā€œEmbed to surfaceā€ option in the brush properties. Itā€™s not the same but at least it doesnā€™t leave the corners or bottom edges exposed.

Woah, that looks amazing! It seems very close to the tools Cities Skylines + mods offers for building cities, which IMO is a great scene building toolset (mainly due to many great mods like the prefab line tool mod).

That said - I do have some questions:

  • Are the data formats and most of the placement logic intrinsically tied to editor namespaces? If not, this would be a really great foundation for a runtime level building tool (as a separate asset for example).

  • Is the spline & shape information persistent? It would be really useful to be able to come back at a later point to change some splines or maybe even add another layer/another type of meshes on top.

  • Related to 2 - itā€™s often really powerful to be able to begin/end splines at the nodes of other splines. Is that possible?

  • Something thatā€™s really powerful is a sort of pre-configured prefab with exchangeable parts. Is that something that might come in the future or would that be out of the scope for this asset?

  • How does your physics placement tool work? Does it require colliders on the assets? The asset Grabbit does a really great job there, might be interesting to add an integration.

  • Is there a discord channel? This might become a really popular level editing tool (or so I hope!) so itā€™d be nice to have some sort of community for support as well as sharing tricks.

  • Would you say itā€™s straightforward to expand the tool and/or integrate this with some runtime functionality? E.g. re-using palettes to procedurally spawn objects in runtime.

Either way, this looks really awesome and I hope the asset takes off nicely!

P.S. I hope thatā€™s ok to point out - I donā€™t think the preview image of your asset sufficiently communicates the load of features it comes with, itā€™s a little bland. I almost wouldā€™ve missed it because I was thinking ā€˜meh, just another basic prefab pick and place toolā€™.

Looks great. Work the asset/tools at runtime? or on editor only?

Hey, thank you very much for taking the time to review the tool and propose ideas to improve it.

  1. Yes, the logic is tied to the editor namespaces. I created the tool to be used as an editor extension. But in future releases I think I can find a way to create tools to use at runtime.
  2. No, but it is one of the features that Iā€™m going to add in future versions.
  3. Interesting feature. Iā€™ll keep that in mind when implementing persistence for splines and shapes.
    4 I think it is out of the scope for this asset. But itā€™s a great idea for a new asset.
  4. The physics placement tool doesnā€™t require colliders. If used in conjunction with my other asset, the Transform Tools you can achieve a Grabbit-like functionality. Check out this video: Transform Tools 1.9 - Simulate Gravity. However, Iā€™ll consider the possibility of integration with Grabbit if more people request it.
  5. Right now there is no discord channel. But Iā€™ll take your advice and create one.
  6. Itā€™s not difficult but itā€™s a lot of work. But my idea is to keep improving the tool as much as possible.

About the preview image, I totally agree. In fact, I already created another. But thanks for pointing it out because it confirms what I thought.

1 Like

It works only in the editor. Iā€™m planning to create another asset with the same functionalities but at runtime.

Thanks, that sounds great. Another tool I was wondering about which would be very handy is a prefab picker - where if you click on a GO and itā€™s a prefab, you choose this prefab as a new object to paint

Your wish is my command ;). Iā€™m going to add it to version 1.2. I already submitted version 1.1 with some improvements and fixes, but it has not been released yet.
Currently there is something similar. Itā€™s the ā€œfilter by selectionā€ button in the paletteā€™s search bar.
It works like this: select the object you want to set as the new brush, then click the ā€œfilter by selectionā€ button and the palette will show only the brushes that contain that prefab.

1 Like

We now have a Discord Server where you can ask for help, report bugs, and request new features.

1 Like

Flatten terrain around spawn is one of Gena Proā€™s strongest features. If you are able to add it, you will be able to compete with them :slight_smile:

Hey thanks for the suggestion. Itā€™s a nice feature, but itā€™s a bit out of the scope for this asset. In the short term, I have no plans for the tool to become a terrain editor. If I decide to add it, I have to find a simple way to do it without cluttering the interface so much.

Gena Pro isnā€™t a terrain editor either. It just has the ability to flatten terrain around a spawn, which is useful for buildings. Itā€™s marketed as the best placement tool on the store, and it would be if its workflow was more intuitive like your package. For those who have spent the time to learn it, it probably is.

1 Like

I donā€™t seem to be able to place anything on terrain. I do have a terrain collider on it and itā€™s on the layer ā€œTerrainā€. And even if I have Terrain layer selected in brush Surface Filters it doesnā€™t work. Iā€™m on Unity 2021.1.

Also all the brushes and previews are flickering constantly.

Hi, thanks for reporting the bug. Iā€™m working to fix it asap. Iā€™ll let you know when Iā€™m done. If you want, you can email me at pluginmaster418@gmail.com to send you the repaired package before the next version is released.

Hey, I promise I will try to add that feature. But it may take a while to get it right and easy to use.

3 Likes

Hey, I think I fixed it. It was a bug in PWBIO.cs. Email pluginmaster418@gmail.com to send you the repaired file.

1 Like

Great, I emailed you. :slight_smile:

I just sent you the file.
I had also submitted a new version with the fix, hope it will be released soon.

Same issue here.