using InfinityPBR.ModularCharacterHelper; using Sirenix.OdinInspector.Editor.Validation; using VOID.Editor.AttributeValidator; [assembly: RegisterValidator(typeof(ModularCharacterValidator))] namespace VOID.Editor.AttributeValidator { public class ModularCharacterValidator : ValueValidator { protected override void Validate(ValidationResult result) { if (Value == null) return; ValidateBoneRoot(result); } private void ValidateBoneRoot(ValidationResult result) { if (Value.targetRootBone) return; result.AddError($"{nameof(Value.targetRootBone)} is required!"); } } }