FPS Bullet Positioning / Spawning issues

Hello!

I’m currently making an FPS game for fun, and I’m experiencing an issue where whenever I shoot my gun, the bullet’s position gets set way off of where it’s supposed to position itself. I am using fast cast for the main bullet creation.

This footage is me firing the gun, and the issue occurs.
robloxapp-20220426-1156092.wmv (1.8 MB)

Client’s Gun Firing Code:

Gun.Activated:Connect(function()
	local MousePos = Mouse.Hit.Position
	
	if ShotDebounce == false then
		
		ShotDebounce = true
		
		WeaponModule:Fire(MousePos)	
		
		print("Player Clicked")
		
		wait(.1)
		
		ShotDebounce = false
		
	end

end)

FireEvent.OnClientEvent:Connect(function(Player, Origin, Direction)
	
	if Player ~= LocalPlayer then
		
		CastingModule:Fire(LocalPlayer, Origin, Mouse.Hit.Position)
		
		print("Other clients has now fired")
		
	end
	
end)

Server’s Firing Code:

FireEvent.OnServerEvent:Connect(function(Player, Origin, MousePos)
	
	local Direction = (MousePos - Origin).Unit
	
	FireEvent:FireAllClients(Player, Origin, Direction)
	
	print("Fired All Clients")

end)

Main Weapon Module’s Firing Code:

-- // Firing

local CastingModule = require(Replicated.CastHandling)

local FireEvent = Replicated:WaitForChild("Fire")

function Weapon:Fire(MousePos)

		local BulletOrigin = Camera:FindFirstChild(Viewmodel.Name).HumanoidRootPart.Position
		
		CastingModule:Fire(Players.LocalPlayer, BulletOrigin, MousePos)
		
		FireEvent:FireServer(MousePos, BulletOrigin, MousePos)	

end

Fast Cast Module’s Firing Code:

function CastHandler:Fire(Player, Origin, MousePos)
	
	local Direction = (MousePos - Origin).Unit
	
	BulletTemp.CFrame = CFrame.new(Origin, MousePos)
	
	task.spawn(function()
		
		local DebuggingPart = Instance.new("Part", workspace)
		DebuggingPart.Size = Vector3.new(1,1,1)
		DebuggingPart.Color = Color3.new(1, 0, 0)
		DebuggingPart.Name = "Result"
		DebuggingPart.Anchored = true
		DebuggingPart.Position = Origin
		
	end)
	
	MainCaster:Fire(Origin, Direction, 350, CastBehavior)

end

It’ll be greatly appreciated if anyone could help me out.