Surface Snapping - Rotate to Surface Normal, but for Blueprints

Blueprints do not behave similary to static meshes when surface snapping. It will snap to the surface, but will not rotate to the surface normal. How can I work around this?

These two posts had the same issue, but no viable answers

Sorry for the necropost, but in case this helps someone β€” here’s how you can achieve similar behavior in Blueprints(or cpp, algo is very simple)

You need to implement this logic in the Construction Script (or BeginPlay if you need runtime updates):