function UnitNetworkHandler:set_look_dir(unit, yaw_in, pitch_in, sender)
	if not self._verify_character_and_sender(unit, sender) then
		return
	end
	
	local degree_yaw = yaw_in * 360 / 255
	local tpose = {
		shoulder = {
			Rotation(40 + degree_yaw, -110, -15),
			Rotation(35 + degree_yaw, 85, 15)
		},
		arm = {
			Rotation(-325 + degree_yaw, -50, -50),
			Rotation(-30 + degree_yaw, 95, 45)
		},
		fore_arm = {
			Rotation(-175 + degree_yaw, -180, -45),
			Rotation(-90 + degree_yaw, 60, 30)
		},
		hand = {
			Rotation(-199 + degree_yaw, -185, -9),
			Rotation(-105 + degree_yaw, 20, 40)
		}
	}

	local dir = Vector3()
	local yaw = 360 * yaw_in / 255
	local pitch = math.lerp(-85, 85, pitch_in / 127)
	local rot = Rotation(yaw, pitch, 0)

	mrotation.y(rot, dir)
	unit:movement():sync_look_dir(dir, yaw, pitch)
	unit:movement():sync_arm_frame_pose(0, tpose)
end