EasyBallistics plugin

Impact event is fired every time the bullet hits something. Among other things it returns a bool “PassedThrough” which indicates that the bullet penetrated an obstacle, and a vector “ExitLocation” which gives you exit point of penetration. You can use that as location for spawning the decal.

EDIT: this event is only called on server. So if your project is multiplayer, you first need to use this to call your own replicated event that spawns the decal on clients. (see the bullet blueprint in the example project)