# AddFolderReference(string, string, PBXSourceTree)

> Adds a new folder reference to the list of known files.

## Definition

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

```csharp
public string AddFolderReference(string path, string projectPath, PBXSourceTree sourceTree = PBXSourceTree.Source)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The physical path to the folder on the filesystem.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The project path to the folder.**** (\[PBXSourceTree]\(/engine/6000.6/script-reference/unityeditor/ios/xcode/pbxsourcetree)): The source tree the path is relative to. [PBXSourceTree.Source](/engine/6000.6/script-reference/unityeditor/ios/xcode/pbxsourcetree/source.md) is set by default. [PBXSourceTree.Group](/engine/6000.6/script-reference/unityeditor/ios/xcode/pbxsourcetree/group.md) isn't supported.

### Returns

| Type                                                           | Description                                                                                                         |
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | The GUID of the added folder reference. You can use it later, for example, to add the file for building to targets. |

### Remarks

The group structure is automatically created to correspond to the project path. To add the folder reference to the list of files to build, pass the returned value to [PBXProject.AddFileToBuild](/engine/6000.6/script-reference/unityeditor/ios/xcode/pbxproject/addfiletobuild.md).

### Examples

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

public class Sample_AddFolderReference  
{
    [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();

        // Specify the file path you want to add to the Xcode project
        string filePath = Path.Combine(Application.dataPath, "Resources/");

        // Add the 'Resources' directory to the Xcode project
        pbxProject.AddFile(filePath, "Resources");

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