using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; using UnityEditor; namespace Unity.VisualScripting { public static class PackageVersionUtility { private static SemanticVersion _version; public static SemanticVersion version { get { if (_version.IsUnset()) { var myPackage = UnityEditor.PackageManager.PackageInfo.FindForAssetPath("Packages/com.unity.visualscripting"); if (myPackage == null) throw new Exception("Error! Visual Scripting: couldn't find visual scripting package"); var couldParse = SemanticVersion.TryParse(myPackage.version, out var parsedVersion); if (!couldParse) throw new Exception("Error! Visual Scripting: couldn't parse package version"); _version = parsedVersion; } return _version; } } } }