Unreal Engine 5 plugin
The Simplygon Unreal Engine 5 plugin exposes the following features.
- Generate Static and Skeletal Mesh LODs
- Create replacement meshes
- Hierarchical Level-of-Detail
- Automation using scripting and commandlet
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](/SimplygonSDK_10.2.8400.0/assets/WaveLODChain.3010c68c.png)
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](/SimplygonSDK_10.2.8400.0/assets/standin.c1648382.png)
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](/SimplygonSDK_10.2.8400.0/assets/hlod.65f8abf6.png)
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.
## 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)
## 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.
# LOD Recipe Commandlet example
UnrealEditor-Cmd.exe <ProjectPath> -AllowCommandletRendering -run=LODRecipeCommandlet -Save -NoSourceControl