Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


AndroidProjectFilesModifierContext

Represents a container that specifies additional dependencies and additional outputs for AndroidProjectFilesModifier.
Read time 2 minutesLast updated 6 days ago

Definition

public class AndroidProjectFilesModifierContext

Examples

using System.IO;using Unity.Android.Gradle;using UnityEditor;using UnityEditor.Android;using UnityEngine;public class ModifyProjectScript : AndroidProjectFilesModifier{ private string _myLibBuildGradle = Path.Combine("unityLibrary", "customPlugin", "build.gradle"); public override AndroidProjectFilesModifierContext Setup() { var projectFilesContext = new AndroidProjectFilesModifierContext(); // Tell the build system to expect a file to be produced in <gradleProject>/unityLibrary/customPlugin/build.gradle projectFilesContext.Outputs.AddBuildGradleFile(_myLibBuildGradle); // Tell the build system that it should run OnModifyAndroidProjectFiles if MyConfig.json has changes since the last build projectFilesContext.Dependencies.DependencyFiles = new[] { "Assets/MyConfig.json" }; // Tell the build system to copy the directory to the Gradle project projectFilesContext.AddDirectoryToCopy("Assets/DirectoryToCopy", "destinationName"); // Pass some data/properties from the Editor to the OnModifyAndroidProjectFiles callback projectFilesContext.SetData("companyName", PlayerSettings.companyName); // Data can be any serializable object projectFilesContext.SetData<Vector2>("cursorHotspot", PlayerSettings.cursorHotspot); return projectFilesContext; } public override void OnModifyAndroidProjectFiles(AndroidProjectFiles projectFiles) { // Produce an object that will be serialized to <gradleProject>/unityLibrary/customPlugin/build.gradle var buildGradleFile = new ModuleBuildGradleFile(); buildGradleFile.Android.AndroidResources.NoCompress.Set(new []{"someValue"}); // Set the object that will be serialized to <gradleProject>/unityLibrary/customPlugin/build.gradle projectFiles.SetBuildGradleFile(_myLibBuildGradle, buildGradleFile); // Do some changes based on MyConfig.json here // ... // Get the data/properties that were declare in Setup var companyName = projectFiles.GetData("companyName"); var cursorHotspot = projectFiles.GetData<Vector2>("cursorHotspot"); // Do something based on the data // ... }}

Constructors

Constructor

Description

AndroidProjectFilesModifierContext()Container constructor.

Properties

Property

Description

DependenciesRepresents a container that you can use to specify additional dependencies for the AndroidProjectFilesModifier process depends.
OutputsRepresents a container that you can use to specify additional files that will be created in AndroidProjectFilesModifier.OnModifyAndroidProjectFiles.

Methods

Method

Description

AddDirectoryAsGuidToCopyDeclare a directory to copy into the Gradle project.
AddDirectoryToCopyDeclare a directory to copy into the Gradle project.
AddFileAsGuidToCopyDeclare an asset to copy into the Gradle project.
AddFileToCopyDeclare a file to copy into the Gradle project.
SetDataSets data for the OnModifyAndroidProjectFiles callback.

Classes

Class

Description

AndroidProjectFilesModifierContext.AdditionalDependenciesRepresents a container that you can use to specify additional dependencies for the AndroidProjectFilesModifier process depends.
AndroidProjectFilesModifierContext.AdditionalOutputsRepresents a container that you can use to specify additional files that will be created in AndroidProjectFilesModifier.OnModifyAndroidProjectFiles.