One of my larger projects within the Unreal Engine 4, or UE4, ecosystem is the Runtime Mesh Component, or RMC, that I developed, maintain and continue to expand. It is open source on GitHub, and also provided on the UE4 Marketplace as of June 2016. The RMC was developed for a specific purpose, which is to support any type of runtime generated mesh data, and allow it to be rendered, collided against, and queried as any other static mesh in the engine. It has the exact purpose of two different components within UE4 today, the first of which is the CustomMeshComponent, and the second is the ProceduralMeshComponent, both of which lack features or have large performance problems I attempted to solve in the RMC.

The CustomMeshComponent doesn't provide any form of collision, and instead is a very simple component that is only capable of rendering one single mesh section. This means that you can have multiple materials on your mesh, and you can't run any form of collision, or raycasting against the mesh.

The ProceduralMeshComponent, or PMC, comes far closer to what the RMC offers and shares much of the same API, actually the RMC was designed to be a drop in replacement. The PMC, due largely to not being a major focus for Epic, has several major performance issues, and doesn't allow for several usage cases commonly requested. These include updating sections on a frame-by-frame basis, or having collision only sections that you don't render. The PMC also has several major performance problems with rendering which were all addressed in the RMC.

Between January 29, 2017 and June 11, 2017, the RMC has been downloaded by at least 3,000 people through the Unreal Engine Marketplace alone. The marketplace doesn't provide statistics before that back to the original June 2016 release date, nor the number of people downloading it directly from GitHub. I've been contacted directly by probably over 100 people using the RMC for various projects and have attempted to help them all and gain feedback on things to improve in the future. There's currently a major overhaul coming for version 3!

RMC Animated Plane

Frame-By-Frame Updates

The RMC supports fast updates of mesh sections to allow for CPU animated meshes on a frame-by-frame basis with extremely good performance!

Full Blueprint Support!

The RMC fully supports UE4's Blueprint visual scripting to allow for easy entry into procedural mesh generation!

RMC Blueprint Interface
RMC Convex Collision

Full Collision Support

The RMC supports both convex collision for dynamic objects as well as mesh collision for static objects like terrain!