Actor blueprint with hierarchical meshes cached lighting error

Hi All,

I just converted my project from UE 4.7 to 4.10.1, and while most things seem to be fine, I seem to have an issue with some assets that I can’t solve. I have a number of Actor Blueprints that consist of a collection of meshes that have been hierarchically ordered. Most of these blueprints behave just fine, but two of them are generating warnings when I open the project or try to rebuild lighting. For each of these blueprints, I get a number of warnings (one warning for each mesh component) that look as follows:

(...)
LogStaticMesh:Warning: Cached component instance data transform did not match!  Discarding cached lighting data which will cause lighting to be unbuilt.
/Game/Maps/OperatingRoom.OperatingRoom:PersistentLevel.CeilingScreens2_4402.StaticMesh5
Current X=626.362549 Y=-26.461205 Z=221.039520 Cached X=583.977783 Y=63.211342 Z=221.039520
LogStaticMesh:Warning: Cached component instance data transform did not match!  Discarding cached lighting data which will cause lighting to be unbuilt.
/Game/Maps/OperatingRoom.OperatingRoom:PersistentLevel.CeilingScreens2_4402.StaticMesh15
Current X=626.362549 Y=-26.461205 Z=221.039520 Cached X=583.977783 Y=63.211342 Z=221.039520
(...)

I have tried removing the complete Binaries, Intermediate and Saved folders and rebuild them, but the warnings remain. I also tried removing the blueprint instances from the level and putting new instances of the blueprints back, but this also doesn’t seem to help. When I switch the mesh components from static to Movable the warnings seem to disappear, but I would imagine that this causes performance loss, and since the objects won’t move, there is no point in making them movable.

The warnings don’t seem to cause any issues that are directly visible, but to be sure, I would rather not have them. Any suggestions?

I still have this issue in UE 4.16
In my case it is probably due to a quite large level with some bad precision at the edges.

Changing line 2173 in StaticMeshComponent.cpp from
if (StaticMeshInstanceData->CachedStaticLighting.Transform.Equals(ComponentToWorld, 1.e-3f))
to if (StaticMeshInstanceData->CachedStaticLighting.Transform.Equals(ComponentToWorld, 1.e-1f)) seems to have solved the issue for me.