using System.Reflection; using HarmonyLib; using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class VRCFAllowRootFeatures { static VRCFAllowRootFeatures() { var harmony = new Harmony("gay.lilyy.VRCFAllowRootFeatures"); var featureFinderType = AccessTools.TypeByName("VF.Feature.Base.FeatureFinder"); if (featureFinderType == null) { Debug.LogError("FeatureFinder type not found"); return; } var method = AccessTools.Method(featureFinderType, "AllowRootFeatures"); if (method == null) { Debug.LogError("AllowRootFeatures method not found"); return; } var prefix = typeof(VRCFAllowRootFeatures).GetMethod(nameof(Prefix), BindingFlags.Static | BindingFlags.NonPublic); harmony.Patch(method, prefix: new HarmonyMethod(prefix)); } private static bool Prefix(object gameObject, object avatarObject, ref bool __result) { __result = true; return false; } }