public static bool GetParameterColor3Value(HEU_SessionBase session, HAPI_NodeId nodeID, HAPI_ParmInfo[] parameters, string parameterName, Color defaultValue, out Color outputColor)
	{
	    int parameterIndex = GetParameterIndexFromNameOrTag(session, nodeID, parameters, parameterName);
	    if (parameterIndex < 0 || parameterIndex >= parameters.Length)
	    {
		outputColor = defaultValue;
		return false;
	    }

	    if (parameters[parameterIndex].size < 3)
	    {
		HEU_Logger.LogError("Parameter size not large enough to be a Color3");
		outputColor = defaultValue;
		return false;
	    }

	    int valueIndex = parameters[parameterIndex].floatValuesIndex;
	    float[] value = new float[3];

	    if (session.GetParamFloatValues(nodeID, value, valueIndex, 3))
	    {
		outputColor = new Color(value[0], value[1], value[2], 1f);
		return true;
	    }

	    outputColor = defaultValue;
	    return false;
	}
	public static float GetParameterFloatValue(HEU_SessionBase session, HAPI_NodeId nodeID, HAPI_ParmInfo[] parameters, string parameterName, float defaultValue)
	{
	    int parameterIndex = GetParameterIndexFromNameOrTag(session, nodeID, parameters, parameterName);
	    if (parameterIndex < 0 || parameterIndex >= parameters.Length)
	    {
		return defaultValue;
	    }

	    int valueIndex = parameters[parameterIndex].floatValuesIndex;
	    float[] value = new float[1];

	    if (session.GetParamFloatValues(nodeID, value, valueIndex, 1))
	    {
		return value[0];
	    }

	    return defaultValue;
	}