Тебе нужно: 1. место, где пишется логика; 2. место от куда пойдет лайн трейс; 3. логика самого трейса.
Для первого - заходишь в персонажа, там в окне компонентов ищешь StaticMeshComponent, либо SkeletalMeshComponent (названия могут быть другими). Насколько я помню, в ALS, в персонаже, есть два компонента для оружия, и m4a1 вроде бы в виде статического меша, значит нужен первый вариант. Этот компонент тянешь в блюпринт граф.
Для второго - заходишь в мешь оружия, создаешь там сокет (какой-нибудь muzzle).
Для третьего - В блупринте из первого пункта тянешь из компонента макарошку и ищешь функцию с названием Get Bone Location или Get Socket location (что-то похожее). Вводишь название сокета и на выходе будет местоположение сокета.
Местоположение складываешь с (направлением * длинну трейса). Направление это ротация сокета (Get Bone Rotation и из ротации ForwardVector). Для нужного направления скорее всего придется вращать сокет. Если не понимаешь о чем я, смотри базовые уроки