Modeling Mode Overview

Learn the basics of the Modeling editor mode.

Choose your operating system:

Windows

macOS

Linux

The Modeling editor mode provides a toolset for creating and sculpting static meshes directly in Unreal Engine. You can use it to create new meshes, rapidly prototype level geometry, and edit existing models to add variety to your world. This overview outlines the core concepts behind these tools and their workflow, how to access them, and the basics of working with them.

Accessing the Modeling Editor

To use the Modeling editor mode, click the Select Mode dropdown, then select Modeling. Alternatively, press SHIFT+5 to immediately switch to this mode.

The toolbar and the Modeling panel will appear. If you select a tool from the toolbar, its properties will appear in the Modeling panel. You can use this panel to configure your tool's output before you commit to creating shapes or making changes.

Understanding Key Concepts

Although many tools in the Modeling editor are similar to their counterparts in other modeling software, there are a few important key differences in how the Modeling editor structures mesh editing that you should know before you begin working with it.

Triangles and PolyGroups

Unreal Engine renders all models as triangulated meshes. In other words, when you import or create a mesh, its surface is automatically broken up into triangles (tris) regardless of whether they were already defined in a different environment. This provides several guarantees:

  • UE can't import or create a model that it can't render.

  • UE's rendering is portable across all platforms, as all graphics drivers universally recognize triangles.

  • UE does not need to spend time and resources resolving quads and n-gons into triangles at runtime.

As a consequence, there is no concept of a quad or an n-gon in UE's Modeling editor, and tris are the foundation that in-engine modeling is built on. Thus, the most low-level editing tools are in the TriModel category, which is based entirely around selecting and editing tris and vertices directly.

Although Unreal Engine does not natively recognize quads or n-gons, it does support PolyGroups, which can mimic those features. PolyGroups are arbitrary collections of triangles which can be defined by a variety of tools in the Modeling editor, then manipulated using the PolyModel tools. When working with low-polygon meshes and blockouts, PolyGroups provide a way to interact with surfaces that is more intuitive than working with raw triangles. However, PolyGroups can also be applied to high-polygon meshes to easily manipulate chunks of complex geometry that would otherwise be complicated to work with.

When creating meshes using the Shape tools, you can configure the polygroups of your new meshes using the Polygroup Mode setting. By default this is set to Per Shape, which outputs the entire mesh as a single polygroup, but you can use Per Face or Per Quad to automatically divide the mesh into recognizable faces or quad groups. When you use the PolyModel tools, these groups will be selectable.

polygroup-1.png

polygroup-2.png

Click image for full size.

Click image for full size.

Additionally, you can use the TriSel, GrpGen and GrpPnt tools to create polygroups, and the UV tools can generate polygroups based on your meshes' UV layouts.

Because PolyGroups are arbitrary, you can also create multiple PolyGroup Layers to handle different sets of them on the same model. You can configure these in the Attributes > AttrEd tool.

PolyGroup Layers are not universal to your project. Instead, they are created for individual static mesh assets. This means that you can't assume that two different meshes will have the same PolyGroup Layers, but it also means that you can define them as-needed on a case by case basis.

Tools, Undo History, and Accepting Changes

Most mesh editing tools in the Modeling editor mode will not apply changes to meshes immediately. Instead, the tool shows a preview of the mesh with your changes in place, and a prompt will display Cancel and Accept buttons. If you exit Modeling mode or press Cancel, the changes will be discarded and the mesh will revert back to what it looked like before you started editing it. If you press Accept, the Modeling editor will apply the changes. It will also apply the changes from a tool if you select a different modeling tool while in the middle of the same editing session.

When you are in the middle of using mesh editing tools, Unreal Editor keeps an undo history of each individual operation a tool performs. For example, if you do several extrude operations using TriEd or PolyEd, using Undo will undo the most recent one first, stepping back through the history of each of your edits.

All tools have an On Tool Accept category in their settings to configure what happens to modeling operations in your undo history. By default, the Handle Inputs setting is set to Delete Inputs. This means after you press Accept, Unreal Editor will treat your mesh editing session as a single operation, and using Undo will revert all the changes you made since the last time you pressed Accept. You can change Handle Inputs to keep some or all of your individual changes.

Meshes, Assets, and Editing Non-Destructively

When you edit meshes in Modeling mode, you do not edit individual copies of them. Instead, you edit instances of a static mesh asset that is saved in your project's Content folder. This includes meshes created with the tools in the Shapes and Create categories, which place assets in the Maps/_GENERATED folder.

Because of this, if you have multiple instances of the same mesh and you use the Modeling tools to edit one of them, every copy of that mesh will take the same changes. This can be destructive if you don't work carefully, meaning you could overwrite a mesh when you want to create a variation of it.

Rather than using the Duplicate operation in the level editor, using the MshDup tool in the Create category will create a duplicate of the static mesh asset you select and add it to your Content folder. The mesh you selected in your Viewport will then use that asset instead of the original one. Using this tool to clone your static mesh asset before you start modeling will ensure that the original asset remains intact, and make it possible to change only individual static meshes in your world as needed.

Using the Modeling Editor Mode

Creating a Mesh

To create a new mesh, click any of the tools in the Shapes category and move your mouse cursor into the Viewport. A template of the shape you selected will follow your mouse cursor and snap to the level grid. Click where you want to add the mesh in your game's world and the editor will create an instance of that shape with the parameters you configured in the Modeling panel.

shapes-create-mesh.gif

You can also create meshes using tools in the Create group. For example, the PolyExt tool can draw a footprint for a mesh, then extrude it to create a custom 3D shape.

poly-extrude-create-shape.gif

When using a tool to create a mesh, changing the Output Type to Volume will create a trigger volume instead of a static mesh.

Editing a Mesh

Most of the other tools in the Modeling editor are built around editing an existing mesh in your game's world. For example, if you select TriEd or PolyEd, then click a mesh, you can select its individual components and perform modeling operations on them. Individual operations in the TriEd and PolyEd tools, such as Extrude, Push Pull, or Cut Faces, appear in the Modeling panel. After you make your edits, click the Accept button at the bottom of the viewport to finalize your changes or click Cancel to discard them.

editing-mesh.gif

You can select any Static Mesh in your world and edit it using these tools, including meshes that were not created with the Modeling editor. For example, you can use the Lattice tool on a high-quality Static Mesh to quickly reshape it.

If you are going to edit a high-quality asset, it is highly recommended that you duplicate the asset using the MshDup tool so that you preserve the original asset.

Tool Categories

Category

Description

Shapes

Creates new static mesh models using simple primitives, including cubes, spheres, cylinders, and planes.

Create

Draws new static meshes with custom shapes and paths Use MshDup and MshMrg to clone or consolidate meshes' assets in the Content folder.

PolyModel

Manipulates static mesh models by selecting and editing polygroups. Only useable if the model has more than one polygroup. Use the TriSel tool in the TriModel group, or the GrpPen, and GrpPnt tools in the Attributes group to create new polygroups.

TriModel

Manipulates static mesh models by selecting and editing raw triangles.

Deform

Warps and sculpts static meshes using high-level deformers.

Transform

Performs transform operations on your static meshes without leaving Modeling mode. You can edit your mesh's pivot point, change its type between volume and static mesh, and other operations that affect the whole object.

MeshOps

Performs large-scale operations on a static mesh's geometry. This includes the Simplify and Remesh tools, which help optimize your mesh's geometry, as well as merge and weld operations.

VoxOps

Converts your static mesh into voxels and performs volumetric operations before converting it back into polygonal geometry. If you select multiple meshes, you can use VoxMrg, VoxBlnd, and VoxBool to perform boolean operations, such as combining or subtracting meshes from each other.

Attributes

Configures different attributes of your static mesh, such as its normals, tangents, PolyGroups, and other parameters. You can also paint materials using the MatEd tool.

UVs

Edits the UV maps for your mesh, changing how textures will be mapped to the surface. This includes automatic unwrap and layout tools.

Baking

Bakes textures and vertex colors into your static mesh.

Volumes

Converts static meshes to volumes, or convert volumes and BSP brushes to static meshes. You can also inspect a static meshes' collision or produce new meshes based on your mesh's collision geometry.

LODs

Edits and manages LOD meshes.

Geometry Script

Geometry Script is an Unreal Engine plugin containing a set of Function Libraries that provide the ability to generate and edit mesh geometry via Blueprints and Python. Geometry Script UFunctions and Blueprint Nodes operate on UDynamicMesh objects, which are objects created using the FDynamicMesh3 C++ triangle mesh data structure. This is the same data structure used by the Geometry Processing plugin and Modeling Editor Mode.

Geometry Script can be used in Editor Utility Widgets and Asset Actions to create custom mesh analysis / processing / editing tools. It can also be used in Actor Blueprints to create "procedural objects" and implement complex geometric queries.

For more information on using Geometry Scripting, see the Geometry Script Users Guide.