using System.Collections.Generic; using UnityEngine; using VRC.SDKBase.Validation; namespace VRC.SDK3.Validation { public static class AvatarValidation { private static string[] CombinedComponentTypeWhiteList = null; private static HashSet GetComponentWhitelist() { if(CombinedComponentTypeWhiteList == null) { List concatenation = new List(VRC.SDKBase.Validation.AvatarValidation.ComponentTypeWhiteListCommon); concatenation.AddRange(VRC.SDKBase.Validation.AvatarValidation.ComponentTypeWhiteListSdk3); CombinedComponentTypeWhiteList = concatenation.ToArray(); } return ValidationUtils.WhitelistedTypes("avatar-sdk3", CombinedComponentTypeWhiteList); } public static IEnumerable FindIllegalComponents(GameObject target) { return ValidationUtils.FindIllegalComponents(target, GetComponentWhitelist()); } public static IEnumerable FindIllegalShaders(GameObject target) { return ShaderValidation.FindIllegalShaders(target, VRC.SDKBase.Validation.AvatarValidation.ShaderWhiteList); } } }