Casting spell facing the character direction

I’m trying to cast a spell infront the character face direction.
The results I’m getting is the spell casting always at the same direction no matter the mesh direction is facing.

In the picture character facing left but spell casted forward.

FVector SpawnLocation = GetMesh()->GetSocketLocation("root");
	SpawnLocation.X += 500.f;
	
	FRotator SpawnRotation = GetActorRotation();

	GetWorld()->SpawnActor<AActor>(SpellClass, SpawnLocation, SpawnRotation);

Picture of the problem:

Use the ForwardVector instead. That tells you the direction you are facing (an a 2D plane, i.e. X/Y only). Multiply that by the distance (how far ahead you need to spawn the spell effect). That’s your location offset (from where you are). The rotation you are trying to do, is just the rotation of the spawned effect around its own axis, nothing more. You could try setting that two zero, or perhaps random even. Depends on how you want it to look.

I tried implementing your suggestion in blueprints (thought it might work better), but it gave me the same result just in the opposite direction.

I’m pretty sure I’m doing something wrong, so my last resort will be using a pointing arrow.

This is my implementation, more or less copying your blueprint, and it works for me. I see you have this ‘Skill Radius’ multiplier? How large is that?! You are already multiplying by 300 (3m) so be careful. I tried tampering with that and anything beyond 1 and you might not be able to see what you’re spawning (it spawns too far probably).
Be specific: when you say it’s not working… what is not working? how? Any more pics, explanation? You maybe confused with your spawned actor’s rotation as well. if it needs to be rotated a certain way, then it depends on how it’s created and on its component hierarchy etc. You may need to adjust its root’s rotation separately.
[1]: