# SetFileContents

> Sets the content of a new file to the specified bytes.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.Android](/engine/6000.5/script-reference/unityeditor/android.md)
* **Assembly:** UnityEditor.Android.Extensions

## SetFileContents(string, string)

Sets the content of a new file to the specified bytes.

```csharp
public void SetFileContents(string path, string contents)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The file to write to. This path is relative to the Gradle project path.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Byte array contents.

### Remarks

To use this method, you must first declare the new file in [AndroidProjectFilesModifier.Setup](/engine/6000.5/script-reference/unityeditor/android/androidprojectfilesmodifier/setup.md) using the [AndroidProjectFilesModifierContext.AdditionalOutputs.AddFileWithContents](/engine/6000.5/script-reference/unityeditor/android/androidprojectfilesmodifiercontext/additionaloutputs/addfilewithcontents.md) method.

### Examples

```csharp
using UnityEditor.Android;

public class ModifyProjectScript : AndroidProjectFilesModifier
{
    // Configure the required settings/outputs to modify the Android project files
    public override AndroidProjectFilesModifierContext Setup()
    {
        var projectFilesContext = new AndroidProjectFilesModifierContext();

        // Add new file example
        projectFilesContext.Outputs.AddFileWithContents("AdditionalContent/ModifyProjectTextFile.txt");

        return projectFilesContext;
    }

    //  Modify the Android project files
    public override void OnModifyAndroidProjectFiles(AndroidProjectFiles projectFiles)
    {
        // Set file contents example
        // Requires file to be added to output in Setup method
        projectFiles.SetFileContents("AdditionalContent/ModifyProjectTextFile.txt", "This was created in the OnModifyAndroidProjectFiles method");
    }
}
```

## SetFileContents(string, byte\[])

Sets the content of a new file to the specified bytes.

```csharp
public void SetFileContents(string path, byte[] contents)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The file to write to. This path is relative to the Gradle project path.**** (\[byte\[]]\(https\://learn.microsoft.com/dotnet/api/system.byte)): Byte array contents.

### Remarks

To use this method, you must first declare the new file in [AndroidProjectFilesModifier.Setup](/engine/6000.5/script-reference/unityeditor/android/androidprojectfilesmodifier/setup.md) using the [AndroidProjectFilesModifierContext.AdditionalOutputs.AddFileWithContents](/engine/6000.5/script-reference/unityeditor/android/androidprojectfilesmodifiercontext/additionaloutputs/addfilewithcontents.md) method.

### Examples

```csharp
using UnityEditor.Android;

public class ModifyProjectScript : AndroidProjectFilesModifier
{
    // Configure the required settings/outputs to modify the Android project files
    public override AndroidProjectFilesModifierContext Setup()
    {
        var projectFilesContext = new AndroidProjectFilesModifierContext();

        // Add new file example
        projectFilesContext.Outputs.AddFileWithContents("AdditionalContent/ModifyProjectTextFile.txt");

        return projectFilesContext;
    }

    //  Modify the Android project files
    public override void OnModifyAndroidProjectFiles(AndroidProjectFiles projectFiles)
    {
        // Set file contents example
        // Requires file to be added to output in Setup method
        projectFiles.SetFileContents("AdditionalContent/ModifyProjectTextFile.txt", "This was created in the OnModifyAndroidProjectFiles method");
    }
}
```
