Skip to content
On this page

Unreal Engine 5 plugin

The Simplygon Unreal Engine 5 plugin exposes the following features.

For a complete list of supported Simplygon features, see the feature table.

Supported versions

Unreal Engine 5.2.x and 5.3.x.

Generate Static and Skeletal Mesh LODs

The plugin introduces a new asset type, the LOD Recipe, which makes generating good-looking LODs for Static and Skeletal Meshes easy. A LOD Recipe can be used to run mesh reductions, simplify advanced meshes, bake materials and create impostors (which are particularly good for foliage assets). For Skeletal Mesh LODs it also offers the option to reduce bones and transfer morph targets.

Skeletal Mesh lod chain
Figure 1: Example Skeletal Mesh LOD chain.

Create replacement meshes

For workflows inside the level editor the plugin provides a special Actor type called a Stand-In. Using Stand-Ins it's possible to replace one or more meshes in the scene with a single (potentially simplifed) mesh, bake materials down to only one for all the objects as well as cull away triangles that are not visible.

Original vs Stand-In
Figure 2: Example Stand-In.

Hierarchical Level-of-Detail

The plugin implements the proxy LOD/Hierarchical LOD Module which makes Unreal Engine use Simplygon when generating simplified meshes for HLODs and Level LODs.

HLOD visualization mode
Figure 3: HLOD visualization.

INFO

We are currently investigating a new custom Simplygon HLOD Layer Type which will offer more control on how HLODs will be generated when using World Partition.

Automation using scripting and commandlet

The plugin provides a Blueprint Library which can be of great help when automating your optimization workflows. It's possible to create LOD Recipes and Stand-Ins, assign meshes to them, set desired settings and kick off builds.

python
## Pseudo code for creating and building a LOD Recipe

# Create new recipe
lod_recipe = unreal.AssetToolsHelpers.get_asset_tools().create_asset(asset_name = "LR_LargeProp", package_path = "/Game", asset_class = unreal.LODRecipe, factory = unreal.LODRecipeFactory())

... # Set settings

# Assign an asset with the recipe
asset = unreal.load_asset(...)
unreal.SimplygonBlueprintLibrary.assign_recipe_to_asset(lod_recipe, asset)

# Build the LODrecipe for the asset
unreal.SimplygonBlueprintLibrary.build_lod_recipe(asset)
python
## Pseudo code for creating and building a Stand-In

# Create Stand-In actor from a given list of static mesh actors.
actors = ... # list of actors to replace with a Stand-In
standin_actor = unreal.SimplygonBlueprintLibrary.create_standin_actor_from_actors(actors)

# Assign far pipeline to Stand-In
far_pipeline = unreal.StandinFarPipeline()
standin_actor.set_editor_property("pipeline", unreal.SimplygonStandinPipeline.cast(far_pipeline))

# Builds meshes for all Stand-In actors
unreal.SimplygonBlueprintLibrary.build_standin_meshes()

The plugin also offers the option to build LOD Recipes from outside the Unreal Editor using the LOD Recipe Commandlet.

shell
# LOD Recipe Commandlet example
UnrealEditor-Cmd.exe <ProjectPath> -AllowCommandletRendering -run=LODRecipeCommandlet -Save -NoSourceControl