# AddBuildProperty

> Adds a value to the build property list in all the build configurations for the specified target(s).

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.iOS.Xcode](/engine/6000.5/script-reference/unityeditor/ios/xcode.md)
* **Assembly:** UnityEditor.iOS.Extensions.Xcode

## AddBuildProperty(string, string, string)

Adds a value to the build property list in all the build configurations for the specified target(s).

```csharp
public void AddBuildProperty(string targetGuid, string name, string value)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The GUID of the target, such as the one returned by [PBXProject.GetUnityFrameworkTargetGuid](/engine/6000.5/script-reference/unityeditor/ios/xcode/pbxproject/getunityframeworktargetguid.md).**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the build property.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The value of the build property.

### Remarks

Duplicate build properties are ignored. Values for names `LIBRARY_SEARCH_PATHS` and `FRAMEWORK_SEARCH_PATHS` are quoted if they contain spaces.

### Examples

```csharp
using UnityEngine;
using UnityEditor;
using UnityEditor.iOS.Xcode;
using UnityEditor.Callbacks;
using System.IO;

public class Sample_AddBuildProperty  
{
    [PostProcessBuild]
    public static void OnPostprocessBuild(BuildTarget buildTarget, string pathToBuiltProject)
    {

        // Stop processing if build target is not iOS
        if (buildTarget != BuildTarget.iOS)
            return;

        // Initialize PBXProject
        string projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject);
        PBXProject pbxProject = new PBXProject();
        pbxProject.ReadFromFile(projectPath);

        // Get GUID for main target
        string mainTargetGuid = pbxProject.GetUnityMainTargetGuid();

        // Add Build Property to all configs in the main target
        pbxProject.AddBuildProperty(mainTargetGuid, "exampleProperty", "exampleValue");

        // Apply changes to the pbxproj file
        pbxProject.WriteToFile(projectPath);
    }
}
```

## AddBuildProperty(IEnumerable\<string>, string, string)

Adds a value to the build property list in all the build configurations for the specified target(s).

```csharp
public void AddBuildProperty(IEnumerable<string> targetGuids, string name, string value)
```

### Parameters

**** (\[IEnumerable\<string>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)): An array of target GUIDs.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the build property.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The value of the build property.

### Remarks

Duplicate build properties are ignored. Values for names `LIBRARY_SEARCH_PATHS` and `FRAMEWORK_SEARCH_PATHS` are quoted if they contain spaces.

### Examples

```csharp
using UnityEngine;
using UnityEditor;
using UnityEditor.iOS.Xcode;
using UnityEditor.Callbacks;
using System.IO;

public class Sample_AddBuildProperty  
{
    [PostProcessBuild]
    public static void OnPostprocessBuild(BuildTarget buildTarget, string pathToBuiltProject)
    {

        // Stop processing if build target is not iOS
        if (buildTarget != BuildTarget.iOS)
            return;

        // Initialize PBXProject
        string projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject);
        PBXProject pbxProject = new PBXProject();
        pbxProject.ReadFromFile(projectPath);

        // Get GUID for main target
        string mainTargetGuid = pbxProject.GetUnityMainTargetGuid();

        // Add Build Property to all configs in the main target
        pbxProject.AddBuildProperty(mainTargetGuid, "exampleProperty", "exampleValue");

        // Apply changes to the pbxproj file
        pbxProject.WriteToFile(projectPath);
    }
}
```
