Customise UVs per instance with Instanced Static Meshes

Actually, I’ve managed to get it to work in 4.21 by modifying the source code as well. I had to pad the structure containing the instance data or I’d get serialization errors, but everything else was fairly straight-forward.

I took a stab at creating a plugin, but from what I can tell, it’s actually impossible with the way Epic has designed the UInstancedStaticMeshComponent class and its interaction with other parts of the engine. You need to extend UInstancedStaticMeshComponent to get it correctly work with lightmaps, physics, etc, but then you can’t override necessary functions like BuildRenderData (since it’s not a virtual function).