Monolith — Usage
Installation
- Open your project in the Unreal Editor.
- Go to Edit > Plugins.
- Search for Monolith under the Virtual Production category.
- Enable the checkbox.
Note
Monolith does not require an editor restart when you first enable it. The plugin's menus register through UToolMenus on module load, which happens immediately when the plugin is activated.
Because Monolith is editor-only, you do not need to add it as a dependency in your project's Build.cs unless you are writing C++ code that calls into MonolithEditor APIs directly. For most production workflows, enabling the plugin is sufficient.
Accessing Utilities
From the World Outliner
- Select one or more actors in the World Outliner or the viewport.
- Right-click the selection to open the context menu.
- Hover over Monolith to expand the category list.
- Hover over the category you need to see its operations.
- Click the operation to execute it immediately.
From the Content Browser
- Select one or more assets in the Content Browser.
- Right-click the selection to open the context menu.
- Hover over Monolith to access the asset-level categories: Materials, Dependencies, and Placement.
Tip
You can select actors using the standard Unreal selection tools — Ctrl+click for additive selection, box-select in the viewport, or filter by class in the Outliner — before opening the Monolith menu. All operations act on whatever is selected at the moment you invoke them.
Enabling and Disabling Categories
If your workflow only uses a subset of Monolith's categories, disable the rest to keep the context menu compact.
- Go to Edit > Project Settings.
- Under Plugins, select Monolith Utilities.
- Toggle the boolean checkboxes for each category group.
Changes take effect immediately. Disabled categories are removed from the context menu without an editor restart. The settings are saved to your project's Config/DefaultGame.ini and are checked into source control along with the rest of your project config.
Creating a Config DataAsset
The default numeric values built into Monolith (grid spacing, randomization ranges, sequence number formats, etc.) are conservative defaults. For most productions you will want to create a project-specific config.
- In the Content Browser, navigate to a suitable folder (for example,
Content/Settings). - Right-click and choose Miscellaneous > Data Asset.
- In the class picker, search for and select MonolithConfig.
- Name the asset (for example,
DA_MonolithConfig) and save it. - Open the asset and fill in the properties relevant to your scene scale.
- Go to Edit > Project Settings > Plugins > Monolith Utilities.
- Assign your new DataAsset to the Config field.
From this point on, all operations use the values from your DataAsset instead of the built-in defaults.
Tip
You can create multiple UMonolithConfig DataAssets for different stages of production — for example, one with tight grid spacing for a prop-dressing pass and another with wide randomization ranges for scattering foliage — and swap between them in Project Settings as needed.
Organizing the Scene with Folders
Folders in the World Outliner help you group actors by department, shot, or function. Monolith's Folder category lets you create and populate folders without manually dragging actors one by one.
Example: organize all lights into a dedicated folder
- In the World Outliner, use the Filter dropdown to show only light actors, or Ctrl+click each light you want to group.
- Right-click the selection and go to Monolith > Folders > Create Folder from Selection.
- Enter a folder name in the dialog (for example,
Lighting/KeyLights). - All selected actors are moved into the new folder immediately.
Organize an entire section by class automatically:
- Select a broad set of actors — for example, all actors on a set piece.
- Right-click and choose Monolith > Folders > Organize by Class.
- Monolith creates subfolders named after each actor class (StaticMeshActors, PointLights, SpotLights, etc.) and distributes the selection into them.
If you have a UMonolithOrganizationPreset assigned in Project Settings, the "Organize by Class" operation uses the class-to-folder mappings in that preset instead of generating names automatically.
Batch Renaming
Consistent naming keeps the Outliner readable and makes automated pipelines (export scripts, Sequencer bindings, EDL matching) more reliable.
Example: add a prefix to all static mesh actors in a set piece
- Select the mesh actors you want to rename.
- Right-click and choose Monolith > Naming > Add Prefix.
- Enter the prefix string in the dialog (for example,
SM_SetPiece_). - All selected actor labels are updated immediately.
Add sequential numbers to a group of props:
- Select the props.
- Choose Monolith > Naming > Add Sequence Numbers.
- Monolith appends zero-padded numbers (format configurable via
UMonolithConfig) in the order actors appear in the selection.
Find and replace across many actors:
- Select the actors whose labels need updating.
- Choose Monolith > Naming > Find and Replace.
- Enter the search string and the replacement string.
- Monolith updates all labels that contain the search string.
Note
All naming operations preserve the actor's Object name (the internal identifier used by Sequencer and other systems). Only the display label shown in the Outliner is changed.
Arranging Actors
The Layout category is useful when placing sets, dressing crowds, or testing different spatial configurations quickly.
Example: arrange a row of columns in a grid
- Select the column actors in the Outliner.
- Right-click and choose Monolith > Layout > Arrange in Grid.
- Enter the number of rows and columns and the X/Y spacing in the dialog.
- The actors are repositioned into the grid, centered on the midpoint of the original selection's bounding box.
Arrange actors in a circle:
- Select the actors.
- Choose Monolith > Layout > Arrange in Circle.
- Enter the radius. Monolith distributes the actors at equal angular intervals around the circle.
Distribute actors evenly along an axis:
If you have actors that are roughly lined up but unevenly spaced, use Transform > Distribute Evenly to equalize the spacing along a chosen axis without moving the first or last actor.
Running an Audit
The Audit category helps catch common scene problems before they reach a build or review.
Example: find actors with zero scale
- You do not need to pre-select anything.
- Right-click any actor (or an empty area of the Outliner) and choose Monolith > Audit > Find Zero Scale Actors.
- Monolith scans the entire level and selects all actors whose world scale is zero on any axis.
- The results are also printed to the Output Log with actor names and locations.
Find actors with broken material references:
Choose Monolith > Audit > Find Broken Material References. Monolith selects all mesh actors that have a null or otherwise invalid material slot and logs each one.
Find actors outside world bounds:
Choose Monolith > Audit > Find Actors Outside World Bounds. This is useful for catching actors that have been accidentally translated far from the scene origin.
Warning
Audit operations scan all actors in the persistent level by default. In levels with thousands of actors this can take a moment. The results are shown via Outliner selection and the Output Log — check both.
Managing Visibility Groups
Visibility Groups let you toggle the visibility of a named set of actors with a single menu click. Unlike standard Outliner folders, visibility groups survive folder reorganization because they use actor tags as the backing store.
Create a visibility group:
- Select the actors you want to group.
- Right-click and choose Monolith > Visibility Groups > Create Group from Selection.
- Enter a group name. Monolith assigns a tag in the format
MonolithGroup_[name]to each selected actor.
Toggle a group:
Right-click any actor and choose Monolith > Visibility Groups > Toggle Group > [group name]. All actors carrying that group tag are hidden or shown.
Show all groups:
Choose Monolith > Visibility Groups > Show All Groups to make all visibility group members visible regardless of their current state.
Select all members of a group:
Choose Monolith > Visibility Groups > Select Group > [group name] to select all actors in the group in the Outliner and viewport.
Batch Sequencer Binding
When setting up a cinematic sequence, you often need to bind a large number of actors at once and ensure they have transform tracks.
Add actors to a sequence:
- Open the Level Sequence you want to bind actors to in Sequencer.
- Select the actors in the Outliner.
- Right-click and choose Monolith > Level Sequence > Add to Sequence.
- Monolith creates Sequencer bindings for each selected actor and adds a transform track initialized to the actor's current world transform.
Bake sequencer-evaluated transforms back to world:
If you have actors driven by a Sequencer sequence and you want to "freeze" their evaluated positions as actual world transforms:
- Scrub the Sequencer playhead to the frame you want to bake from.
- Select the actors.
- Choose Monolith > Level Sequence > Bake to World Transform.
Set sequence default values from world transforms:
If your actors have been repositioned in the world outside of Sequencer and you want their Sequencer default (section-zero) values to match:
- Select the actors.
- Choose Monolith > Level Sequence > Set Defaults from World.
Exporting Dependencies
The Dependency utilities in the Content Browser help you understand what a level or asset folder depends on before packaging, archiving, or handing off to another team.
Show level dependencies:
- Right-click the Level asset in the Content Browser.
- Choose Monolith > Dependencies > Show Level Dependencies.
- A report is printed to the Output Log with assets grouped by type (StaticMesh, Material, Texture, Sound, etc.).
Find unused assets in a folder:
- Right-click a Content Browser folder.
- Choose Monolith > Dependencies > Find Unused Assets.
- Monolith compares assets in the folder against all level references and selects assets that are not referenced by any loaded level.
Export dependency list to CSV:
- Right-click a Level or folder asset.
- Choose Monolith > Dependencies > Export to CSV.
- A save dialog appears. The exported CSV contains columns for Asset Name, Asset Type, Path, and Reference Count.
Tip
Export the dependency CSV before major handoffs to give your pipeline team a complete manifest of what a scene requires.