45 lines
1.1 KiB
C#
45 lines
1.1 KiB
C#
using System.IO;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
namespace AllIn13DShader
|
|
{
|
|
public static class URPSettingsController
|
|
{
|
|
public static void DisableFeature(string featureToDisable)
|
|
{
|
|
// Find the shader features file
|
|
string[] guids = AssetDatabase.FindAssets("AllIn13DShader_FeaturesURP_Defines");
|
|
if (guids.Length == 0)
|
|
{
|
|
Debug.LogWarning("AllIn13DShader_FeaturesURP file not found");
|
|
return;
|
|
}
|
|
|
|
string shaderFeaturesFilePath = AssetDatabase.GUIDToAssetPath(guids[0]);
|
|
if (string.IsNullOrEmpty(shaderFeaturesFilePath))
|
|
{
|
|
Debug.LogWarning("Could not get path for AllIn13DShader_FeaturesURP file");
|
|
return;
|
|
}
|
|
|
|
// Read the file content
|
|
string fileContent = File.ReadAllText(shaderFeaturesFilePath);
|
|
string[] lines = fileContent.Split("\n");
|
|
|
|
string correctedFile = string.Empty;
|
|
for (int i = 0; i < lines.Length; i++)
|
|
{
|
|
string line = lines[i];
|
|
if (line.StartsWith($"#define {featureToDisable}"))
|
|
{
|
|
line = "//" + line;
|
|
}
|
|
|
|
correctedFile += line;
|
|
}
|
|
|
|
File.WriteAllText(shaderFeaturesFilePath, correctedFile);
|
|
}
|
|
}
|
|
} |