internal static string JsonSerialize(object obj) { var assembly = typeof(Selection).Assembly; var managerType = assembly.GetTypes().First(t => t.Name == "Json"); var method = managerType.GetMethod("Serialize", BindingFlags.Public | BindingFlags.Static); var jsonString = ""; if (UnityVersion.IsVersionGreaterOrEqual(2019, 1, UnityVersion.ParseBuild("0a10"))) { var arguments = new object[] { obj, false, " " }; jsonString = method.Invoke(null, arguments) as string; } else { var arguments = new object[] { obj }; jsonString = method.Invoke(null, arguments) as string; } return(jsonString); }