Skip to main content

Realtime Mesh Component

The RealtimeMeshComponent or more commonly RMC, is a functional replacement to the ProceduralMeshComponent and DynamicMeshComponent. The RMC is more efficient at rendering than either component while also being far more flexible than both components. You can still use all the DynamicMesh Geometry Scripting tools while enjoying the benefits of a faster renderer, or you can take a more direct approach and feed raw mesh data into the component. RMC Documentation

For the CPU backend, we support both RealtimeMeshComponent and ProceduralMeshComponent (PMC), with one selected by the compiled plugin configuration. Enabling or disabling the RealtimeMesh plugin controls that CPU choice (see Installation).

GPU is independent of RealtimeMesh

When GPU is selected on the deformation component, the plugin uses its own GPU renderer whether RealtimeMesh is enabled or not. GPU LOD support does not require RMC. See GPU Backend. CPU (Deprecated) remains available for existing projects.

Realtime Mesh - Pro

There's also a paid version of this plugin available on the marketplace, but we have not yet had the chance to test this version for compatibility with our component. We currently do not use any advanced features of the pro version like collision, nanite or lumen but this can change in the future.

Benefits / Features​

The following RMC features concern the CPU-RMC workflow. The quoted performance ranges describe RMC versus PMC, not measured guarantees for this plugin's GPU backend:

  • LOD Support, allowing engine maximum of 8 LOD levels and full dithering support
  • 50-90% Lower memory usage than PMC
  • 30-90% lower render thread CPU time
  • Static draw path for maximum rendering performance (via optional setting)
  • Dynamic Draw path for efficient frequent updates (via optional setting)

Installation​

  1. Get the free "Realtime Mesh - Core" plugin from the FAB Marketplace.
  2. Download and install the plugin to your engine using the Epic Games Launcher.
  3. (Optional) Move the downloaded plugin to your project's plugin folder.
    • Default Installation Location: C:\Program Files\Epic Games\UE_[version]\Engine\Plugins\Marketplace\
  4. Enable the RMC plugin in your project: Edit > Plugins. Save and close the editor.
  5. Make sure your uproject file contains at least two plugin entries, one for "RealtimeMeshComponent" and one for "DeformableStaticMesh" that are both enabled as you can see in the image below:
  6. Open your project e.g. with Visual Studio and build it. That's it.
    • There should be a message like "DeformableMeshComponent: Using RealtimeMeshComponent!" in the build output (when building the project).
  7. Components using the CPU backend should use RealtimeMeshComponent now. You can double check the compiled CPU configuration by visiting the project settings and checking ActiveMeshType. Components configured for GPU still use the GPU renderer.
    • Alternatively there is also a MeshType property inside every DeformableMeshComponent.
  8. In case this does not work, try to clean your solution (delete intermediate + binaries folder of your project and plugin) and rebuild your solution.
    • When switching from PMC to RMC (or vice versa) we actually un-/define a C++ preprocessor USE_RMC and this switches everything inside our component and the tool to the respective mesh component type. This logic is triggered inside the plugin's build.cs file.