Get Average Unit vector from three unit vectors? Possible?

Is there some math for this ?

I cannot figure it out

I need a return unit vector

Work so far but doesn’t seem correct

cocos2d::Vec3 GObject::getAverageUVector3(cocos2d::Vec3 vecX, cocos2d::Vec3 vecY, cocos2d::Vec3 vecZ) {

	cocos2d::Vec3 result;

	int multiplier = 0;

	if (!vecX.isZero()) { multiplier++; }
	if (!vecY.isZero()) { multiplier++; }
	if (!vecZ.isZero()) { multiplier++; }

	result.x = (vecX.x + vecY.x + vecZ.x) / multiplier;
	result.y = (vecX.y + vecY.y + vecZ.y) / multiplier;
	result.z = sqrt(pow((result.x), 2) + pow((result.y), 2));

	result.x = result.x / result.z;
	result.y = result.y / result.z;
	result.z = 1.0f;

	return result;

}

Also trying this

cocos2d::Vec3 GObject::getAverageUVector3(cocos2d::Vec3 vecX, cocos2d::Vec3 vecY, cocos2d::Vec3 vecZ) {

	cocos2d::Vec2 result = (cocos2d::Vec2(vecX.x, vecX.y) + cocos2d::Vec2(vecY.x, vecY.y) + cocos2d::Vec2(vecZ.x, vecZ.y));

	float z = sqrt(pow((result.x), 2) + pow((result.y), 2));

	result.x = result.x / z;
	result.y = result.y / z;

	return cocos2d::Vec3(result.x, result.y, 1.0f);

}

Thanks