# ProjectCapabilityManager(string, string, string, string)

> Creates a new ProjectCapabilityManager object.

## Definition

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

```csharp
public ProjectCapabilityManager(string pbxProjectPath, string entitlementFilePath, string targetName = null, string targetGuid = null)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The project path provided by [IPostprocessBuildWithReport.OnPostprocessBuild](/engine/6000.5/script-reference/unityeditor/build/ipostprocessbuildwithreport/onpostprocessbuild.md).**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): **** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Name of the target project.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The GUID of the target as returned by [PBXProject.TargetGuidByName](/engine/6000.5/script-reference/unityeditor/ios/xcode/pbxproject/targetguidbyname.md)

### Remarks

**Note**: To use this method, you need to provide either a `targetName` or a `targetGuid`. If you provide both or none, Unity throws an exception.
