LineTraceMulti strange hit location/results

I’m fairly new to c++ in UE4 and I’m already running into some problems with a line trace. This trace appears to be hitting like up in the sky versus straight forward from the camera like i would want it to. My suspicion is it has something to do with ShootTraceEnd. Im just not well versed enough to identify whats causing it.
This is a pic of the original blueprints i used as a reference for the code.
Also a pic of the angle the bullets are shooting at, and ultimately the direction of the line trace.

edit: This function is being called from blueprints and ran on server as well. Thought I should mention this.

End point need to be in world space too and camForwardVec is local space, so you need to add ShootTraceStart to ShootTraceEnd to apply offset to start position.

that surprisingly did not fix it because you were right, I completely forgot to add the camera location which was right in front of me in the Blueprints. But yeah oddly enough, the bullets are still going upwards on the exact same line as the picture i posted.

Could this whole thing being run on server effect any of this? Cause spread and camForwardVec are local variables in a function thats being run on the server? Is it possible these local variables are not being replicated or something funny like that?

What is Pitch varbale? You nto taking it from camera and Pitch is up and down rotation

Whatever it run on server or client depends on what is calling that function, generally this should be done on server to avoid hacking

Pitch is from a tick event ran on the server. The pitch from Camera->GetworldRotation does not replicate for some reason so I had to set pitch separately on a server event. Since i posted this, ive also duplicated everything from this function into a c++ function that runs on the client, and confirmed that it does work properly. So I may have come across a bug potentially.

FVector AFPSChar::ShootLineTrace(FVector traceStart, FVector traceEnd)
{
LineTraceHit = UKismetSystemLibrary::LineTraceMultiForObjects((), FirstPersonCamera->GetComponentLocation(), (FirstPersonCamera->GetComponentLocation() + (FirstPersonCamera->GetForwardVector() * WeaponInventory[InventoryIndex].ShootRange)), ShootTraceTypes, false, ActorsToIgnore, EDrawDebugTrace::ForDuration, HitResults, true);

	if (HitResults.Num() > 0)
	{
		SpawnBullet((TPGun->GetSocketLocation("Muzzle")), UKismetMathLibrary::FindLookAtRotation(TPGun->GetSocketLocation("Muzzle"), SelectVector(HitResults[0].ImpactPoint, HitResults[0].TraceEnd, LineTraceHit)));
		return SelectVector(HitResults[0].ImpactPoint, HitResults[0].TraceEnd, LineTraceHit);
	}

	else
	{
		return FVector(0.f, 0.f, 0.f);
	}
}

this is the function ran on the server that isnt working. The line is still being fired upward like in the 3rd picture above