I made a plugin that adds a component type that is rendered as a grid of bricks. It isn’t shippable, but I think it’s a good example of extending the rendering engine in a plugin.
The BrickGridComponent doesn’t do much on its own, so I included the BrickGame Blueprint I use to generate a procedural terrain. You’d probably want to use C++ for a real game, but I wanted to make sure everything was all accessible to Blueprint.
The Blueprint uses a simplex noise function implemented in a C++ plugin. The simplex noise functions should be accessible from C++ code as well as BluePrint, though I’ve only tested BluePrint. 1D, 2D, and 3D noise is supported, although the terrain generation only uses 2D and 3D.
I ran into problems with the runaway loop detector killing my terrain generation blueprint, so I added another plugin that lets you reset the runaway loop counter from Blueprint. Resetting the counter makes your Blueprint vulnerable to infinite loops that will freeze the editor, so make sure your Blueprint will terminate before using it.
The bricks aren’t interactive yet; the BrickGridComponent recreates its entire collision/rendering state if only a single brick changes, which is pretty slow. If I have time, I’ll make it do incremental updates.
I’m making the source code for the plugins and “game” available on GitHub under a BSD license. Enjoy!