diff --git a/CHANGELOG.md b/CHANGELOG.md index 735ae6ab..608a5063 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Backtrace Unity Release Notes +## Version 3.3.2 +- ANR detection algorithm now uses `Time.unscaledTime` instead of `Time.time` to prevent ANR detection when game is paused. + ## Version 3.3.1 - Improved Out-of-memory detection on iOS - Backtrace will report Out-of-memory exceptions when a memory warning occured and the application unexpectly closed. The Out-of-memory watcher will analyse game version, system version, debugger information and even more to determine if application closed by Out-of-memory exception or not. - Backtrace will no longer send low memory warnings reports from Android or iOS. Instead, Backtrace will utilize iOS OOM detection and extend the embedded native report attributes on Android. diff --git a/Runtime/BacktraceClient.cs b/Runtime/BacktraceClient.cs index d5615505..a8fe2984 100644 --- a/Runtime/BacktraceClient.cs +++ b/Runtime/BacktraceClient.cs @@ -20,7 +20,7 @@ public class BacktraceClient : MonoBehaviour, IBacktraceClient { public BacktraceConfiguration Configuration; - public const string VERSION = "3.3.1"; + public const string VERSION = "3.3.2"; public bool Enabled { get; private set; } /// @@ -415,7 +415,7 @@ private void Awake() /// private void Update() { - _nativeClient?.UpdateClientTime(Time.time); + _nativeClient?.UpdateClientTime(Time.unscaledTime); } private void OnDestroy() diff --git a/Runtime/BacktraceDatabase.cs b/Runtime/BacktraceDatabase.cs index 4b6f46ec..b5a1b29b 100644 --- a/Runtime/BacktraceDatabase.cs +++ b/Runtime/BacktraceDatabase.cs @@ -139,8 +139,8 @@ public void Reload() //setup database object DatabaseSettings = new BacktraceDatabaseSettings(DatabasePath, Configuration); SetupMultisceneSupport(); - _lastConnection = Time.time; - LastFrameTime = Time.time; + _lastConnection = Time.unscaledTime; + LastFrameTime = Time.unscaledTime; //Setup database context BacktraceDatabaseContext = new BacktraceDatabaseContext(DatabaseSettings); BacktraceDatabaseFileContext = new BacktraceDatabaseFileContext(DatabaseSettings.DatabasePath, DatabaseSettings.MaxDatabaseSize, DatabaseSettings.MaxRecordCount); @@ -174,15 +174,15 @@ private void Update() { return; } - LastFrameTime = Time.time; + LastFrameTime = Time.unscaledTime; if (!DatabaseSettings.AutoSendMode) { return; } - if (Time.time - _lastConnection > DatabaseSettings.RetryInterval) + if (Time.unscaledTime - _lastConnection > DatabaseSettings.RetryInterval) { - _lastConnection = Time.time; + _lastConnection = Time.unscaledTime; if (_timerBackgroundWork || !BacktraceDatabaseContext.Any()) { return; @@ -206,7 +206,7 @@ private void Start() RemoveOrphaned(); if (DatabaseSettings.AutoSendMode) { - _lastConnection = Time.time; + _lastConnection = Time.unscaledTime; SendData(BacktraceDatabaseContext.FirstOrDefault()); } } diff --git a/package.json b/package.json index 708210b6..9840691a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "io.backtrace.unity", "displayName": "Backtrace", - "version": "3.3.1", + "version": "3.3.2", "unity": "2017.1", "description": "Backtrace's integration with Unity games allows customers to capture and report handled and unhandled Unity exceptions to their Backtrace instance, instantly offering the ability to prioritize and debug software errors.", "keywords": [