Unreal Engine 5.5 and newer · Editor plugin

Tidy Components

A step-by-step guide for people who have never installed an Unreal plugin before. Follow it from the top and you will have the plugin installed from Fab, switched on, and know every feature in about fifteen minutes.

  • Plugin version 1.1.0
  • Windows, macOS, Linux
  • Editor only, nothing ships in your game
BeforeComponents panel of BP_SciFiCar in Unreal order
AfterComponents panel of BP_SciFiCar sorted by Tidy Components
The same Blueprint, BP_SciFiCar, before and after. Before: one long list in Unreal's own order, with Bolt10 ahead of Bolt2 and every type mixed together. After: components are grouped by type, each type has a colored header with its count, and names sort with 2 before 10. The Headlights custom group has its own pink color, and components with no position, like movement, get a section of their own at the top.

01What Tidy Components does

When you add components to an Actor or a Blueprint, Unreal lists them in an order that looks random, and it gets worse as the list grows. Tidy Components fixes that and adds a few tools you reach with a right-click.

  • Automatic sorting by type. Every Components list is grouped by type (cameras, meshes, lights, sounds…) and each type is kept in alphabetical order, with numbers counted properly. You don't press anything.
  • Colors and header rows. Each type has its own color and a header row with its name, like folders, so you can find things at a glance. Fold a header to hide what's under it, drag headers to reorder, and switch colors or headers off with one click if you prefer the plain look.
  • Sort Priority. Pin the components you use most to the top of their list.
  • Custom Groups. Keep the components you choose together under a name and a color of your choice, above or below the rest of the list.
  • Your choice of storage. Groups and priorities are saved as component tags, or as editor-only data that never goes into your packaged game. A Tidy Data tool converts or removes them for whole folders.
  • Replace Component Class. Turn a component into a different type (for example a Billboard into an Arrow) without rebuilding it by hand.
  • Alt+Drag duplicate. In the Blueprint viewport, hold Alt and drag the move arrows to make a copy, the same way you copy Actors in a level.
Good to know

Sorting only changes how the list looks in the editor. Your Blueprints, levels and the finished game are not changed by it.

02A few words you'll see

If you are new to Unreal, these are the terms this guide uses.

Plugin
An add-on that gives the Unreal Editor new features. It is a folder with a .uplugin file inside.
Fab
Epic's store for Unreal content (fab.com). What you get there appears in the Epic Games Launcher under Fab Library.
Project
Your game. It lives in a folder that contains a .uproject file, plus folders like Content and Config.
Engine version
The Unreal Engine release you use, such as 5.5 or 5.6. A plugin is installed separately for each version.
Actor
Anything you can place in a level: a lamp, a door, a character.
Blueprint
A reusable Actor you build in the Blueprint Editor, for example BP_Lantern.
Component
A building block inside an Actor: a mesh, a light, a sound, a collision box.
Component type
What kind of component it is, for example Camera, Static Mesh or Point Light. Unreal calls this its class.
Components panel
The list of components, shown at the top-left of the Blueprint Editor and at the top of the Details panel when you select an Actor in a level.
Details panel
The panel on the right of the Level Editor that shows the settings of whatever you selected.
Viewport
The 3D view where you see and move things.
Gizmo
The colored arrows (move), rings (rotate) or boxes (scale) that appear on a selected object.
Tag
A short text label you can attach to a component. Sort Priority and Custom Groups use them.
Custom group
A named set of components you pick yourself. Tidy Components keeps them next to each other in the list.
Header row
A row Tidy Components adds above a group, showing the group's name, color and how many components it holds. Its little arrow folds the group away. It is not a component and isn't saved.
Editor-only data
Information saved with your Blueprint or level that the editor uses but that is left out of your packaged game.

03Before you start

You need four things. Take a minute to check them, because a mismatch here causes most install problems.

  1. Unreal Engine 5.5 or newer. Open Unreal and go to Help › About Unreal Editor. The window shows your version, for example 5.5.4. Only the first two numbers matter here (5.5).

    You can also see it in the Epic Games Launcher under Unreal Engine › Library.

  2. Tidy Components in your Fab Library. Buy it (or add it) on its Fab page while signed in with the same Epic account you use in the Epic Games Launcher. Each person who uses it needs their own copy.

  3. The Epic Games Launcher, signed in with that account. It's the app you installed Unreal with.

  4. Unreal closed. Save your work and close the Unreal Editor before you install. Unreal only looks for plugins when it starts.

Tip

You don't need Visual Studio or any programming knowledge. It works in Blueprint-only projects too.

04Install the plugin

The Epic Games Launcher does the copying for you. You do this once for each Unreal version you use.

  1. Open the Epic Games Launcher and click Unreal Engine on the left, then the Library tab at the top.

  2. Scroll down to Fab Library. It lists everything you own on Fab. Type Tidy in its search box to find Tidy Components quickly.

  3. Click Install to Engine under Tidy Components. A small window asks which engine: pick your version, for example 5.5, and click Install.

  4. Wait a moment. The plugin is small, so it only takes a few seconds. To use it with another Unreal version too, repeat step 3 and pick that version.

Fab Library Epic Games Launcher
Tidy Components
Atharva · Tools & Plugins
Install to Engine
Select the engine version
5.5
5.6
5.7
Tidy Components in the Fab Library, with the engine versions it can be installed to. The exact look of the Launcher changes from time to time, but the button is always called Install to Engine.
Where it goes

The Launcher puts the plugin inside the engine (in Engine\Plugins\Marketplace), so it's available to every project on that version. It is not switched on anywhere yet; you do that per project in the next part.

Got a zip instead?

If someone gave you a ready-made zip (for example a test build), close Unreal, make a folder called Plugins next to your project's .uproject file, and unzip it there so that Plugins\TidyComponents\TidyComponents.uplugin exists. The zip must be made for your Unreal version. Then continue with the next part.

05Turn it on in your project

  1. Open your project, then open Edit › Plugins.

  2. Type Tidy in the search box at the top.

  3. Tick the Enabled box on Tidy Components, then click Restart Now.

  4. After the restart, a short message appears at the bottom-right: Tidy Components is on, with an Open Guide button (this guide) and a Settings button. That's it: open any Blueprint and the list is tidy.

Tidy Components in the Plugins window, enabled
Tidy Components in Edit › Plugins, with the box ticked.
Tidy Components is on message
The message you see after the restart.

For a second check, open Window › Output Log and type TidyComponents in its search box. You should see the line LogTidyComponents: Tidy Components started.

Working in a team

Turning a plugin on is saved in the project file. Teammates who open the project need Tidy Components installed as well; without it, Unreal offers to switch it off for them and the project still opens.

If a pop-up appears

A message saying modules are "missing or built with a different engine version" means the plugin was installed for a different Unreal version. Click No, close Unreal, and install it for your version (see Install from Fab).

06Automatic sorting by type

There is nothing to switch on. Open a Blueprint or click an Actor in your level and the Components list is already sorted: components are grouped by type, and each type is in alphabetical order. Here is a two-minute test so you can see it happen.

Try it

  1. Open the Content Drawer with Ctrl + Space. Right-click an empty spot and choose Blueprint Class, then Actor. Name it BP_SortTest and double-click it to open it.

  2. In the Components panel at the top-left, click DefaultSceneRoot, then click + Add, type Cube and pick it. Do this four times, clicking DefaultSceneRoot first each time so every cube sits directly under it (a new component is attached to whatever is selected). Unreal names them Cube, Cube1, Cube2 and Cube3.

  3. Rename them one at a time, in this order. To rename, click the component, press F2, type the new name and press Enter.

    Cube → Wall, Cube1 → Door, Cube2 → Cube10, Cube3 → Cube2

  4. Look at the list. It now reads Cube2, Cube10, Door, Wall. The list re-sorted itself after every rename, and Cube2 comes before Cube10 because 2 is smaller than 10.

  5. Click DefaultSceneRoot, then use + Add to add a Camera and a Point Light. The camera appears at the top, above the cubes. The light appears below all the cubes. That is the type order at work.

    Now that the list mixes types, header rows appear (CAMERAS, STATIC MESHES, LIGHTS) and each row gets a color bar on its left. Click the STATIC MESHES header: all four cubes get selected. Click the small arrow at its left: the cubes fold away. Click it again to bring them back.

The sorting rules

RuleExample
Types stay togetherAll cameras, then all static meshes, then all lights, and so on (see the type order below)
Related types share a groupAn Instanced Static Mesh is a kind of Static Mesh, so it sits in the Static Meshes group
Each exact type has its own blockInside Static Meshes, the plain ones come first, then the Instanced ones, each block in name order
Names are sorted A to ZInside a block, Mesh2 comes before Mesh10, and audio sits next to Audio
Children stay with their parentA component attached to Mesh10 is sorted inside Mesh10 and never moves away from it
The dividing line staysComponents with a position in the world are above the line. Components without one (like movement or health logic) stay below it. Each side is sorted on its own.
Pinned items lead their typeA component with a Sort Priority goes to the top of its own type group. See the next part.
Colors and names show the groupsEach type has a color, and where types mix, a header row with its name. See Colors and header rows.
Your own groups come firstComponents you put in a custom group stay together, above or below everything else. See Custom Groups.

The type order

Out of the box, the groups come in this order. Each group also takes in every type built on top of the ones listed, including your own Blueprint components.

GroupWhat goes in it
1 · CamerasCamera, Cine Camera, Spring Arm
2 · Static MeshesStatic Mesh, Instanced Static Mesh, Hierarchical Instanced Static Mesh, Spline Mesh
3 · Skeletal MeshesSkeletal Mesh, Poseable Mesh
4 · Other MeshesAny other mesh type, for example Procedural Mesh
5 · LightsPoint, Spot, Rect, Directional and Sky lights
6 · CollisionBox, Sphere and Capsule collision
7 · AudioAudio
8 · EffectsNiagara and Cascade particle systems, Decals
9 · WidgetsWidget (3D user interface)
10 · Child ActorsChild Actor
11 · Editor HelpersArrow, Billboard, Text Render
12 · MovementCharacter, Projectile, Floating Pawn and Rotating movement
Last · OtherEverything else, still grouped by exact type

Change the type order

  1. Open Edit › Editor Preferences and click Tidy Components under Plugins on the left.

  2. Find Type Groups and click its arrow to open the list. Each entry has a Name and a list of Classes.

  3. To move a group up or down, drag it by the handle on the left of its row. To add a group, click +, give it a name and pick one or more component types from the Classes drop-down. Your own Blueprint components appear in that list too.

  4. The Components panels re-sort straight away. To go back to the original list, click the small reset arrow next to Type Groups.

Tip

If a type fits two groups, the more specific one wins. For example, an Instanced Static Mesh matches both "Static Meshes" and "Other Meshes" and goes to Static Meshes. To check where a component lands, right-click it and hold your mouse over Sort by Component Type: the tooltip names its group.

Switch to plain alphabetical

If you prefer one A to Z list, right-click any component and click Tidy Components › Sort by Component Type to untick it. Click it again to go back to type order. You can also change Sort Mode in the settings.

Where it works

  • Blueprint Editor: the Components panel at the top-left.
  • Level Editor: click an Actor in your level. The component list at the top of the Details panel is sorted too.
Level editor Details panel with sorted, colored components
The same car placed in a level. When you click it, the component list at the top of the Details panel is sorted and colored the same way.
Tip

Right after you add or rename a component, you may see the old order for a split second before the list tidies itself. That is normal.

07Pin components to the top with Sort Priority

Some components you open all the time, like the main mesh or a collision box. Give them a priority number and they will always be listed first in their type group.

  1. In the Components panel, right-click the component you want at the top. To do several at once, hold Ctrl and click each one first.

  2. Find the section titled TIDY COMPONENTS in the menu that opens.

  3. Point at Sort Priority and click 0.

  4. The component moves to the top of its type group, for example to the top of the static meshes. Save the Blueprint to keep the change.

Right-click menu with the Tidy Components section and Sort Priority open
The Tidy Components section of the right-click menu, with Sort Priority open for Chassis. The white dot shows the priority it has now; Remove takes it off again. The ticks show that sorting by type, row colors and header rows are on; click one to switch it off.

How the numbers work

  • Lower comes first. Priority 0 is above priority 1, which is above priority 2, and so on.
  • Pinned components stay in their type group. A pinned static mesh leads the static meshes; it doesn't jump above the cameras. In plain alphabetical mode, pinned components lead the whole list.
  • Components without a number come after the numbered ones, in their normal order.
  • Two components with the same number are sorted alphabetically between themselves.
  • A component only moves within its own group. A child can't jump above its parent.
Static meshes section with Chassis first
With priority 0, Chassis leads the static meshes, even though Bolt1 comes first from A to Z. Antenna is attached to Chassis, so it stays right under it.

Remove a priority

Right-click the component and choose Sort Priority › Remove. It goes back to its alphabetical place.

What it does behind the scenes

Choosing a number adds a tag such as CustomSort_0 to the component. You can see it by selecting the component and looking in the Details panel under Tags › Component Tags. You can also type a tag there yourself. Any whole number works, including big or negative ones like CustomSort_-5.

Prefer no tags? Switch Storage to Editor-Only Data and the number is saved out of sight instead. See Where your groups are saved.

Good to know

The tag is saved with your Blueprint or level. It has no effect on your game unless your own code reads component tags.

If a component comes from a parent Blueprint, you'll see a message asking you to set its priority in that parent instead.

08Keep components together with Custom Groups

Sometimes the type order isn't what you want. The glass, flame and glow of a lantern belong together, even though one is a mesh and two are lights. A custom group keeps the components you choose side by side under a name, and you decide whether the group sits above or below the rest of the list.

Make a group

  1. Select the components. Click the first one, then hold Ctrl and click each of the others.

  2. Right-click one of the selected components and choose Tidy Components › Custom Group › Create Group from Selection…

  3. A small window opens with a suggested name. If the names start the same way (LampA, LampB) it suggests that start (Lamp); if the components are all one type it suggests the type (Lights). Keep it or type your own, for example Lantern Parts.

  4. Choose Above the other components or Below the other components, then click OK (or press Enter).

  5. The components move next to each other under a header row with a folder icon, the group's name and how many components it holds. The group gets its own color. Save the Blueprint to keep the group.

The windowCreate Group from Selection window
The resultLamp Head group at the top of the list
In BP_StreetLamp, LampGlass and Lamp are selected and the group is named Lamp Head. The group sits above everything else under its own header, in its own color; then come the other components in their usual type order. Inside the group the usual rules still apply, so the mesh LampGlass comes before the light.
Tip

If you type the name of a group that already exists, the components simply join that group.

Above or below: the position number

Every group has a position number. You rarely need to type it yourself, but it explains the order you see:

PositionWhere the group goes
-2At the very top, above the group at -1
-1Just above the ungrouped components
no groupAll the ungrouped components, sorted by type as usual
1Just below the ungrouped components
2Below the group at 1

So negative numbers are above the other components and positive numbers are below them. A group you type 0 for sits right after the ungrouped components. Two groups with the same number are put in name order.

Move a group

Right-click any member of the group and open Custom Group. The lower part of that menu is about the group the component belongs to:

  • Move Group Up and Move Group Down move it one step. A step can jump over the block of ungrouped components, so a group can go from below them to above them.
  • Move Group to Top and Move Group to Bottom send it all the way.
  • Set Position… lets you type the number yourself. The menu shows the current one, for example (now -1).

After a move, the plugin renumbers all the groups (…, -2, -1, 1, 2, …) so the numbers stay short.

Custom Group submenu with Group Color open
The Custom Group submenu for Headlight_L, with Group Color open. The top part works on the selected components. The part headed GROUP "HEADLIGHTS" only appears when all the selected components are in the same group. The white dot marks the group's current color.

Change a group

To…Do this
Add more componentsSelect them, right-click › Custom Group › Add to Group › pick the group
Take components outSelect them, right-click › Custom Group › Remove from Group. The rest of the group stays.
Rename the groupRight-click a member › Custom Group › Rename Group… and type the new name. If you type the name of another group, the two groups become one.
Delete the groupRight-click a member › Custom Group › Ungroup. The components stay; they just go back to their normal place.
Undo

Every group change can be undone with Ctrl + Z.

Rules to know

  • Same rules inside a group. Members are ordered by type, then Sort Priority, then name, exactly like the rest of the list.
  • Only components under the same parent are arranged together. A component attached to StaticMesh10 stays under StaticMesh10. Group components that sit at the same level, for example all directly under DefaultSceneRoot.
  • The dividing line still wins. Components with a position in the world and components without one (like movement) stay on their own side of Unreal's line, even when they share a group.
  • Each Blueprint has its own groups. A group made in BP_Lantern doesn't appear in BP_Door. In a level, a group made on a placed Actor belongs to that Actor only.
  • Some components can't be changed here. If a component comes from a parent Blueprint or from C++ code, it may be skipped. A message in the bottom-right corner tells you how many were skipped.

Header and color

Each group has a header row: a folder in the group's color, its name and how many components it holds. Click the header to select the whole group (Ctrl+click adds it to what you already selected). Every member also gets a bar in the group's color on the left of its row. Right-click the header for all the group actions in one menu.

To change the color, right-click a member and open Custom Group › Group Color. Pick one of the 12 swatches, Automatic to let the plugin choose from the group's name, or Custom Color… to pick any color you like with Unreal's color picker. More about colors and headers in the next part.

Move and fill a group by dragging

  • Move a group: press on its header, drag it onto another group's header and let go. Drop on the top half of that header to go above it, on the bottom half to go below it. Drop it on a type header (like STATIC MESHES) to place it just above or below all the ungrouped components.
  • Add components: select them in the list, then drag them onto the group's header. The header lights up and a label says how many will be added.
Move a groupDragging the Headlights header
Add to a groupDragging Bolt1 and Bolt2 onto the Wheels header
Left: the Headlights header dragged onto the bottom half of the CAMERAS header; the label says what will happen. Right: Bolt1 and Bolt2 dragged onto the Wheels header. Let go to finish; Ctrl + Z undoes it.

What it does behind the scenes

Each member gets a tag such as TidyGroup:-1:#E05FA0:Lantern Parts: the word TidyGroup, the position, the color, then the name (groups made with version 1.0.2 have no color part and simply get an automatic one). You can see it in the Details panel under Tags › Component Tags. Like Sort Priority tags, it is saved with your Blueprint or level and has no effect on your game unless your own code reads component tags. With Storage set to Editor-Only Data, no tag is added; see Where your groups are saved.

09Find things faster with colors and header rows

Tidy Components colors the Components list and splits it into named sections, a bit like folders. You don't have to switch anything on, and you can switch either part off with one click. Here is what you see and how to change it.

Full Components panel with colors, headers, folded sections and groups
Every row has a color bar for its type or group, and every section has a header with its name and count. Headlights and Wheels are custom groups (folder icon) with colors of their own. The types in the lower half are folded, so the list fits on screen.

Turn colors or headers off (and on again)

  1. Right-click any component and find the Tidy Components section.

  2. Click Show Row Colors to remove the color bars, or Show Group Headers to remove the header rows. The tick disappears and the list changes straight away.

  3. Click the same entry again to bring them back.

With the headers off, your custom groups are still kept apart by a thin line, so you can tell where one ends. Sorting keeps working either way. The same two switches are on every header's right-click menu and in the settings.

Colors offRight-click menu with Show Row Colors unticked
Headers offRight-click menu with Show Group Headers unticked
Left: Show Row Colors unticked; the header rows stay. Right: Show Group Headers unticked; the color bars stay, and the Wheels group is still set apart by a thin line at the bottom.

What the colors mean

Every row has a thin bar on its left and a very light wash of the same color. Members of a custom group show the group's color. Every other component shows the color of its type:

  • Cameras blue
  • Static Meshes teal
  • Skeletal Meshes cyan
  • Other Meshes green
  • Lights yellow
  • Collision red
  • Audio purple
  • Effects pink
  • Widgets indigo
  • Child Actors lime
  • Editor Helpers grey
  • Movement orange

Components that fit no type group ("Other") have no color. Custom groups use the same 12 colors; a new group gets one that no other group in the list is using yet.

The header rows

  • Custom groups always get a header: a folder in the group's color, the group's name, and how many components it holds.
  • Types get a header, such as STATIC MESHES 3, wherever a list mixes two or more types. A list with only one type doesn't need one, so it gets none. That also means a single child under a parent never gets a header.
  • Click a header to select everything under it. Hold Ctrl while you click to add them to what you already selected.
  • Right-click a header for its own menu (below).
  • Header rows are only drawn in the list. They aren't components, they aren't saved, and they don't change your Blueprint.

Fold a header

Click the small arrow at the left of a header, or double-click the header. Everything under it is hidden and the header shows how many components it hides. Click the arrow again to unfold it.

Folded type headers showing hidden counts
Folded headers. The arrow points right and the count tells you what's hidden (STATIC MESHES 7 hidden). The components are still there; they are only out of sight.
  • Folds are remembered for each Blueprint and each placed Actor, even after you restart Unreal.
  • It opens by itself when needed. If you select a hidden component some other way (by clicking it in the viewport, for example), its header unfolds so you can see it. Clicking a folded header selects its components, so it unfolds too.
  • Fold everything at once: right-click a component › Tidy Components › More › Fold All Headers (or Unfold All Headers).

The header's right-click menu

Header menuType header menu with Type Color open
Custom Color…Unreal color picker
Right-click on a type header (here LIGHTS), with Type Color open. Custom Color… opens Unreal's color picker. A custom group's header shows the group's own actions instead (rename, color, move, ungroup and so on), followed by the same Components Panel part.

Drag headers to reorder

  • Custom groups: drag a group's header above or below another group, as shown in Custom Groups.
  • Types: drag a type header onto another type header to change the type order, for example to list Lights before Static Meshes. This changes Type Groups in the settings, so every Blueprint follows the new order. Move Type Up and Move Type Down on the header's menu do the same one step at a time.

Change the colors

  • A type's color: right-click its header › Type Color, then pick a swatch, Custom Color… for any color, or Default to go back. You can also do it in Edit › Editor Preferences › Plugins › Tidy Components under Type Groups. Groups you add yourself get a color automatically; that's also what you get if you make a color fully transparent.
  • A custom group's color: right-click a member (or the group's header) › Custom Group › Group Color, then pick a swatch, Automatic or Custom Color…. See Custom Groups.

Make it quieter, or turn it off

SettingChoices
Show Row ColorsOn or off: the same switch as in the right-click menu
Row ColorsCustom Groups and Types (starts as this) or Custom Groups Only
Row Tint OpacityHow strong the light wash behind colored rows is. 0 keeps only the bar.
Show Group HeadersOn or off: the same switch as in the right-click menu
Group HeadersCustom Group and Type Headers (starts as this), Custom Group Headers, Divider Lines Only (the look of version 1.0.2), Off
Show Header CountsOn or off: the number after each header's name
Foldable HeadersOn or off: the fold arrow on headers
Good to know

Colors and headers go with the automatic sorting. If you untick Enable Auto Sort, the list goes back to Unreal's own look.

10Where your groups are saved

Custom groups and sort priorities are saved with your Blueprint or level, so they are still there tomorrow and for everyone who opens the file. You can choose how they are saved in Edit › Editor Preferences › Plugins › Tidy Components › Storage.

Component Tags (starts as this)Editor-Only Data
Where it goesThe component's tags, like TidyGroup:-1:Lantern PartsOut of sight, inside the component
Can you see it?Yes, under Tags in the Details panelOnly under Asset User Data (advanced)
In your packaged gameYes, like any tag. Harmless unless your code reads tags.No, never
Without the pluginThe tags stay and can be edited by handDropped when the file is saved without the plugin

Tidy Components always reads both kinds, so you can switch at any time and nothing gets lost. Whatever you change after switching is saved the new way.

Convert or clean up many Blueprints at once

The Tidy Data tool moves existing groups and priorities from one kind of storage to the other, or removes them.

  1. In the Content Browser, right-click one or more Blueprints, or a whole folder (it includes the folders inside it). In a level, you can right-click placed Actors instead.

  2. Point at Tidy Data and pick what you want:

    Store as Editor-Only Data, Store as Component Tags, or Remove All Tidy Data (this one asks first).

  3. A message says how many components changed. Save the changed Blueprints (File › Save All) to keep the result, or press Ctrl + Z to undo it.

Content Browser folder menu with the Tidy Data submenu
The Tidy Data submenu when you right-click a folder in the Content Browser. Blueprints and placed Actors get the same three entries.

For the Blueprint or Actor you are looking at right now, the same three actions are under Tidy Components › More › Tidy Data of This Blueprint (or of This Actor).

Before you uninstall

Editor-only data only survives while Tidy Components is installed. If you plan to remove the plugin, or teammates without it will edit and save these Blueprints, run Tidy Data › Store as Component Tags on your Content folder first (or Remove All Tidy Data if you don't need the groups any more), then save.

11Change a component's type with Replace Component Class

Normally, changing a component's type means deleting it, adding a new one, and setting everything up again. This tool does it in one go and keeps the settings the two types share.

  1. Right-click the component in the Components panel and choose Tidy Components › Replace Component Class…

  2. A window opens with a list of component types. Type part of the name in the search box, for example arrow, and click ArrowComponent.

  3. Click Select.

  4. If the new type is quite different from the old one, a warning explains that some settings will be lost. Click Yes to go ahead or No to stop.

  5. A message in the bottom-right corner confirms it, for example "Replaced with ArrowComponent (4 properties kept)".

  6. In the Blueprint Editor, click Compile, then Save. Copies of this Blueprint already placed in your levels update after you compile.

Replace Component Class picker
Replace Component Class on Spoiler, a Static Mesh. The picker only lists types that fit: a component with a position (a scene component) can only become another one with a position. Type in the search box to find one quickly.

Kept

  • The component's name
  • Its place in the list and anything attached to it
  • Location, rotation and scale
  • Tags, including Sort Priority
  • Settings both types have (visibility, collision, mobility…)
  • Blueprint nodes that use the component by name

Lost

  • Settings only the old type had, like a Billboard's sprite image
  • Blueprint nodes that call something only the old type could do show an error after Compile. Fix or delete those nodes.
Undo

Changed your mind? Press Ctrl + Z once and the old component is back.

When the option is greyed out

Hold your mouse over the greyed-out entry and a tooltip tells you why. The usual reasons:

  • More than one component is selected. Select just one.
  • The component comes from a parent Blueprint or from C++ code. Open the Blueprint or class that adds it and replace it there.
  • It is the DefaultSceneRoot. Drag another component onto it to make that one the root instead.
  • In a level, you can only replace components that were added to that one Actor in the level. For the others, open the Actor's Blueprint.

12Copy while dragging with Alt+Drag

In a level you can hold Alt while moving an Actor to leave a copy behind. This plugin gives you the same trick for components inside the Blueprint Editor's viewport.

  1. Open a Blueprint and click the Viewport tab.

  2. Click the component you want to copy, either in the viewport or in the Components panel.

  3. Press W to show the move arrows.

  4. Hold Alt, move the mouse over one of the arrows until it lights up yellow, then press and drag.

  5. Let go. The copy is where you dropped it and the original hasn't moved. The copy gets a new name with a number on the end. Press F2 if you want to rename it.

Alt+drag duplicate of a wheel in the Blueprint viewport
Hold Alt and drag an arrow of the move gizmo. The copy, Wheel_FL1, travels with your mouse and appears in the list straight away, in the same Wheels group as the original.
  • Press exactly on an arrow. Alt+drag on empty space still turns the camera around, as usual.
  • It works with several components selected. All of them are copied.
  • It works with the rotate (E) and scale (R) tools too.
  • To undo, press Ctrl + Z twice. The first press undoes the move, the second removes the copy.
Heads-up

The copy is made as soon as you press the mouse button. If you Alt+click an arrow without dragging, you get a copy sitting on top of the original. Press Ctrl + Z to remove it.

13Settings

Everything works without touching settings. If you want to change something, open Edit › Editor Preferences, scroll the list on the left down to Plugins and click Tidy Components. Changes apply straight away, no restart.

Tidy Components settings page
The top of the settings page. Each row is explained in the table below.
SettingStarts asWhat it does
Enable Auto SortOnThe main switch. Turn it off and the lists go back to Unreal's own order immediately.
Sort ModeBy TypeBy Type groups components by type, then sorts each type by name. Alphabetical makes one A to Z list.
Type Groups12 groupsThe type order and each type's color. See Change the type order and Change the colors.
Sort in Blueprint EditorOnSort the Components panel in Blueprints.
Sort in Level Editor DetailsOnSort the component list in the Details panel when you select an Actor in a level.
Natural SortOnCount numbers as numbers (2 before 10). Off sorts letter by letter.
Case SensitiveOffOn puts all capital letters before small ones.
Use Sort PriorityOnPut components with a priority first.
Sort Priority Tag PrefixCustomSort_The start of the priority tag. Change it only if CustomSort_ clashes with tags you already use.
Num Sort Priority Presets10How many numbers the Sort Priority menu offers (0 to 9 by default).
Use Custom GroupsOnKeep the members of each group together and show the Custom Group menu. Off ignores groups; their tags stay on the components.
Show Row ColorsOnThe color bar on each row. Same switch as in the right-click menu.
Row ColorsCustom Groups and TypesWhich rows get a color. Also: Custom Groups Only.
Row Tint Opacity0.07Strength of the light wash behind colored rows. 0 keeps only the bar.
Show Group HeadersOnHeader rows with names. Same switch as in the right-click menu. Off leaves thin lines between custom groups.
Group HeadersCustom Group and Type HeadersWhich headers. Also: Custom Group Headers, Divider Lines Only, Off.
Show Header CountsOnShow how many components each header covers.
Foldable HeadersOnThe fold arrow on headers.
StorageComponent TagsHow groups and priorities are saved. Also: Editor-Only Data. See Where your groups are saved.
Show Context Menu EntriesOnShow the Tidy Components section in the right-click menu.
Enable Alt+Drag DuplicateOnTurn Alt+Drag copying on or off.
Show Welcome and What's New MessagesOnThe short message after you install or update the plugin.
Panel Discovery Interval2 sAdvanced. How often the plugin looks for newly opened panels as a backup. Leave it alone.
Verbose LoggingOffAdvanced. Writes extra lines to the Output Log. Useful when reporting a problem.

The two advanced settings are hidden until you click the small arrow at the bottom of the Advanced group. Settings are saved for you and for this project only.

14Turn it off or remove it

For a moment

Untick Enable Auto Sort in the settings. Tick it again to turn sorting back on.

For one project

Open Edit › Plugins, search for Tidy, untick Tidy Components and click Restart Now.

Completely

  1. Keep or clean your groups first. In the Content Browser, right-click your Content folder › Tidy Data › Store as Component Tags (keeps your groups as plain tags) or Remove All Tidy Data, then File › Save All. Skip this if you never changed Storage and don't mind the tags staying.

  2. Turn the plugin off in each project (Edit › Plugins) and close Unreal.

  3. In the Epic Games Launcher, go to Unreal Engine › Library. Under your engine version, open its list of installed plugins and remove Tidy Components. It stays in your Fab Library, so you can install it again at any time.

Tags you added (CustomSort_0, TidyGroup:-1:Lantern Parts and so on) stay on your components. They do no harm.

15Problems and fixes

"Modules are missing or built with a different engine version"

The plugin was installed for a different Unreal version than the one this project uses. Click No, close Unreal, and in the Launcher's Fab Library use Install to Engine again, picking this project's version (see Install from Fab).

Tidy Components isn't in the Plugins window

It isn't installed for the Unreal version this project uses. Check the version under Help › About Unreal Editor, install it for that version from the Fab Library, then restart Unreal. Unreal only looks for plugins when it starts. If Install to Engine doesn't list your version, that version isn't supported yet.

The list isn't sorted

  • Make sure Enable Auto Sort is ticked in the settings.
  • Click another Actor and back, or switch to another tab and back.
  • Still nothing? Tick Verbose Logging, open Window › Output Log, search for TidyComponents and send those lines through the support link on the plugin's Fab page.

A component is in the wrong group

Right-click it and hold your mouse over Tidy Components › Sort by Component Type. The tooltip shows which group it landed in and why, for example Other > MyComponent. Add its type to the group you want in Type Groups (see Change the type order).

I can't find the Tidy Components section in the right-click menu

Right-click directly on a component. Right-clicking empty space or the top row (the one ending in (Self)) shows a different menu. Also check that Show Context Menu Entries is ticked in the settings.

The members of my group aren't next to each other

Groups only arrange components that hang from the same parent. Check that all the members sit at the same level, for example directly under DefaultSceneRoot, and drag them there if they don't. Components below Unreal's dividing line (movement, health and similar) stay below it, even in a group.

The Custom Group menu is missing or greyed out

Right-click directly on a component, and make sure Use Custom Groups is ticked in the settings. The group actions (Rename, Move, Ungroup) only appear when every selected component is in the same group.

The header rows or colors look wrong, or take too much room

Right-click a component › Tidy Components and untick Show Group Headers and/or Show Row Colors. For something in between, set Group Headers to Custom Group Headers (no type headers) in the settings, or fold the headers you don't need. Sorting and groups keep working.

A header won't stay folded

Something keeps selecting a component under it, for example a click in the viewport. Click an empty spot in the list to clear the selection, then fold it again.

Tidy Data says there's nothing to change

The Blueprints you picked have no groups or priorities, or they are already stored the way you asked. Only Actor Blueprints have components; other kinds of Blueprints are skipped.

A teammate gets a message about a missing plugin

The project has Tidy Components turned on, but they don't have it installed. They can install it from their own Fab Library, or let Unreal switch it off for them; the project opens either way. If you use Editor-Only Data storage, ask them not to save Blueprints you share until they have it (see Where your groups are saved).

I don't want the welcome message

It only appears once after you install or update. To turn it off for good, untick Show Welcome and What's New Messages in the settings.

A component has no color

Its type isn't in any type group, so it lands in "Other", which has no color. Add its type to a group in Type Groups (see Change the type order).

Alt+Drag turns the camera instead of copying

Your mouse wasn't on an arrow when you pressed. Move it slowly over an arrow until the arrow turns yellow, then hold Alt and drag.

Replace Component Class is greyed out

Hover over it to read the reason, then see When the option is greyed out.

I use a Mac or Linux

Install it from the Epic Games Launcher on that computer, the same way. The steps and menus are the same; use Cmd where this guide says Ctrl on a Mac.

16Cheat sheet

Sort my componentsNothing to do. It happens by itself.
One A to Z list instead of typesRight-click › untick Sort by Component Type
Change the type orderEditor Preferences › Plugins › Tidy Components › Type Groups
Put a component firstRight-click it › Sort Priority › 0
Undo a priorityRight-click it › Sort Priority › Remove
Keep components togetherSelect them › right-click › Custom Group › Create Group from Selection…
Move a group up or downRight-click a member › Custom Group › Move Group Up / Down
Delete a groupRight-click a member › Custom Group › Ungroup
Select a whole group or typeClick its header row
Change a group's colorRight-click a member › Custom Group › Group Color (swatch or Custom Color…)
Change a type's colorRight-click its header › Type Color
No colors / no headersRight-click › Tidy Components › untick Show Row Colors / Show Group Headers
Hide a sectionClick the arrow on its header (or double-click the header)
Reorder groups or typesDrag a header onto another header
Add components to a groupSelect them › drag onto the group's header
Keep tags cleanSettings › Storage › Editor-Only Data
Convert or remove groups in bulkContent Browser › right-click Blueprints or a folder › Tidy Data
Change a component's typeRight-click it › Replace Component Class… › pick › Select, then Compile and Save
Copy a component quicklyViewport › W › hold Alt › drag an arrow
Pause sortingEdit › Editor Preferences › Plugins › Tidy Components › untick Enable Auto Sort