Trouble with region3s and latency

Hello, I’m Ben.

Currently, I’m trying to create a melee system with the use of region3s, however 1 problem sticks out to me: latency. Due to the client/ server latency, the region will not be created in the correct place, or I’ll just have incredible issues with positioning it. I know I probably won’t be able to get a 100% accurate region all of the time, however I shouldn’t be having problems with the positioning sides of it.

Is there any way to create a region (a 1 stud square region to be exact) at the end of the players arm, with as small as latency as possible? I also can’t seem to figure out how to make the axis local to the arm so I can position it despite the direction, however that’s a problem for later.

(Currently, I’m running the animation on the client and firing the server upon the animation reaching a signal, as seen below)

Any help will be greatly appreciated, thanks for reading.

a:GetMarkerReachedSignal("Punch"):Connect(function()
			
	Remote:FireServer(player.Character["Right Arm"].CFrame * CFrame.new(0, 0, -3).Position)
			
end)