If you make a Blueprint child of StaticMeshActor, and set the default scale of the Root Component (Static Mesh Component) to something other than 1,1,1, the scale will not be applied when the actor is placed with Surface Snapping (but the scale is applied correctly if you place it without surface snapping on).

Steps to Reproduce
  1. Right Click on Content Browser-> Create Basic Asset-> New BlueprintClass.
  2. When Prompted to Pick Parent Class-> Select All Classes.
  3. In the Search field type in and select StaticMeshActor as parent and name it "Bp_TestMesh".
  4. In the Blueprint Editor of "BP_TestMesh", Select the Static Mesh Component.
  5. Change the Static Mesh to a Cube, or one of the Geometric Mesh Shapes within the Engine Content folder.  change the scale to 10,10,10. compile and save the Blueprint.
  6.  Drag an instance of "BP_TestMesh" into the world with Surface Snapping DISABLED - note that it will be scaled at 10,10,10 as expected.
  7. Now, drag another instance of BP_TestMesh into the world with Surface Snapping ENABLED.


Result: The Static Mesh will have default 1,1,1 scale.

Expected: The Static Mesh should have 10,10,10 scale.


Special Notes:

  • When I drag in a UStaticMesh Cube from the Basic Place Tab in the Modes Panel, the scaling will remain at 1.1.1, whether surface snapping is enabled or disabled. However the moment it becomes an Blueprintable Instance, the scale will reset to 1 if a new instance of the class is dragged in from the content browser


  • Does not happen with a parent Actor Blueprint that is given a Static Mesh Component, via Add Component  from the Blueprint Editor.


Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-82188 in the post.

Login to Vote

Affects Versions4.
Target Fix4.25
Fix Commit11035441
Main Commit11224363
CreatedOct 21, 2019
ResolvedJan 16, 2020
UpdatedFeb 11, 2020