From ec48f91ab2069931d1e312456fc392ad7f4bf8b9 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Tue, 17 Jun 2025 19:45:37 -0400 Subject: [PATCH 1/5] 1 --- package-dev/Runtime/SentryInitialization.cs | 2 ++ src/Sentry.Unity.Editor/Native/BuildPostProcess.cs | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/package-dev/Runtime/SentryInitialization.cs b/package-dev/Runtime/SentryInitialization.cs index f3ee41ff4..f4e9aaa0a 100644 --- a/package-dev/Runtime/SentryInitialization.cs +++ b/package-dev/Runtime/SentryInitialization.cs @@ -9,6 +9,8 @@ #define SENTRY_NATIVE #elif UNITY_PS5 #define SENTRY_NATIVE +#elif UNITY_SWITCH +#define SENTRY_NATIVE #elif UNITY_WEBGL #define SENTRY_WEBGL #endif diff --git a/src/Sentry.Unity.Editor/Native/BuildPostProcess.cs b/src/Sentry.Unity.Editor/Native/BuildPostProcess.cs index eaabfb48d..8c2a3d103 100644 --- a/src/Sentry.Unity.Editor/Native/BuildPostProcess.cs +++ b/src/Sentry.Unity.Editor/Native/BuildPostProcess.cs @@ -19,7 +19,8 @@ public static void OnPostProcessBuild(BuildTarget target, string executablePath) var targetGroup = BuildPipeline.GetBuildTargetGroup(target); if (targetGroup is not BuildTargetGroup.Standalone and not BuildTargetGroup.GameCoreXboxSeries - and not BuildTargetGroup.PS5) + and not BuildTargetGroup.PS5 + and not BuildTargetGroup.Switch) { return; } @@ -186,6 +187,9 @@ private static void UploadDebugSymbols(IDiagnosticLogger logger, BuildTarget tar paths += $" \"{macOSSentryDsym}\""; } break; + case BuildTarget.Switch: + // TODO: Add Switch-specific symbol path if needed + break; default: logger.LogError($"Symbol upload for '{target}' is currently not supported."); return; From 50ac911ec21af75e91c08f8a3aded0438969581e Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Tue, 17 Jun 2025 19:46:27 -0400 Subject: [PATCH 2/5] 2 --- src/Sentry.Unity.Android/SentryNative.cs | 2 +- src/Sentry.Unity.Native/SentryNativeBridge.cs | 32 ++++++------ src/Sentry.Unity/NativeUtils/CFunctions.cs | 52 +++++++++---------- 3 files changed, 43 insertions(+), 43 deletions(-) diff --git a/src/Sentry.Unity.Android/SentryNative.cs b/src/Sentry.Unity.Android/SentryNative.cs index ee1d96d02..c0ea0ef4b 100644 --- a/src/Sentry.Unity.Android/SentryNative.cs +++ b/src/Sentry.Unity.Android/SentryNative.cs @@ -27,7 +27,7 @@ public static class SentryNative public static void ReinstallBackend() => ReinstallSentryNativeBackendStrategy(); // libsentry.io - [DllImport("sentry")] + [DllImport("__Internal")] private static extern void sentry_reinstall_backend(); // Testing diff --git a/src/Sentry.Unity.Native/SentryNativeBridge.cs b/src/Sentry.Unity.Native/SentryNativeBridge.cs index b73ec7203..a45adb430 100644 --- a/src/Sentry.Unity.Native/SentryNativeBridge.cs +++ b/src/Sentry.Unity.Native/SentryNativeBridge.cs @@ -62,7 +62,7 @@ is RuntimePlatform.LinuxPlayer or RuntimePlatform.LinuxServer if (_isWindows) { options.DiagnosticLogger?.LogDebug("Setting CacheDirectoryPath on Windows: {0}", dir); - sentry_options_set_database_pathw(cOptions, dir); + // sentry_options_set_database_pathw(cOptions, dir); } else { @@ -120,31 +120,31 @@ internal static string GetCacheDirectory(SentryUnityOptions options) internal static void ReinstallBackend() => sentry_reinstall_backend(); // libsentry.so - [DllImport("sentry")] + [DllImport("__Internal")] private static extern IntPtr sentry_options_new(); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern void sentry_options_set_dsn(IntPtr options, string dsn); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern void sentry_options_set_release(IntPtr options, string release); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern void sentry_options_set_debug(IntPtr options, int debug); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern void sentry_options_set_environment(IntPtr options, string environment); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern void sentry_options_set_sample_rate(IntPtr options, double rate); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern void sentry_options_set_database_path(IntPtr options, string path); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern void sentry_options_set_database_pathw(IntPtr options, [MarshalAs(UnmanagedType.LPWStr)] string path); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern void sentry_options_set_auto_session_tracking(IntPtr options, int debug); [DllImport("sentry")] @@ -153,7 +153,7 @@ internal static string GetCacheDirectory(SentryUnityOptions options) [UnmanagedFunctionPointer(CallingConvention.Cdecl, SetLastError = true)] private delegate void sentry_logger_function_t(int level, IntPtr message, IntPtr argsAddress, IntPtr userData); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern void sentry_options_set_logger(IntPtr options, sentry_logger_function_t logger, IntPtr userData); // The logger we should forward native messages to. This is referenced by nativeLog() which in turn for. @@ -302,18 +302,18 @@ private static void WithMarshalledStruct(T structure, Action action) action(ptr); }); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern int sentry_init(IntPtr options); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern int sentry_close(); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern int sentry_get_crashed_last_run(); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern int sentry_clear_crashed_last_run(); - [DllImport("sentry")] + [DllImport("__Internal")] private static extern void sentry_reinstall_backend(); } diff --git a/src/Sentry.Unity/NativeUtils/CFunctions.cs b/src/Sentry.Unity/NativeUtils/CFunctions.cs index 76088e02b..02447beb8 100644 --- a/src/Sentry.Unity/NativeUtils/CFunctions.cs +++ b/src/Sentry.Unity/NativeUtils/CFunctions.cs @@ -77,78 +77,78 @@ internal static void SetValueIfNotNull(sentry_value_t obj, string key, double? v return null; } - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern sentry_value_t sentry_value_new_object(); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern sentry_value_t sentry_value_new_null(); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern sentry_value_t sentry_value_new_bool(int value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern sentry_value_t sentry_value_new_double(double value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern sentry_value_t sentry_value_new_int32(int value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern sentry_value_t sentry_value_new_string(string value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern sentry_value_t sentry_value_new_breadcrumb(string? type, string? message); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern int sentry_value_set_by_key(sentry_value_t value, string k, sentry_value_t v); internal static bool IsNull(sentry_value_t value) => sentry_value_is_null(value) != 0; - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern int sentry_value_is_null(sentry_value_t value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern int sentry_value_as_int32(sentry_value_t value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern double sentry_value_as_double(sentry_value_t value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern IntPtr sentry_value_as_string(sentry_value_t value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern UIntPtr sentry_value_get_length(sentry_value_t value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern sentry_value_t sentry_value_get_by_index(sentry_value_t value, UIntPtr index); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern sentry_value_t sentry_value_get_by_key(sentry_value_t value, string key); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern void sentry_set_context(string key, sentry_value_t value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern void sentry_add_breadcrumb(sentry_value_t breadcrumb); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern void sentry_set_tag(string key, string value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern void sentry_remove_tag(string key); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern void sentry_set_user(sentry_value_t user); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern void sentry_remove_user(); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern void sentry_set_extra(string key, sentry_value_t value); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern void sentry_remove_extra(string key); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern void sentry_set_trace(string traceId, string parentSpanId); internal static readonly Lazy> DebugImages = new(LoadDebugImages); @@ -202,10 +202,10 @@ private static IEnumerable LoadDebugImages() // Returns a new reference to an immutable, frozen list. // The reference must be released with `sentry_value_decref`. - [DllImport("sentry")] + [DllImport("__Internal")] private static extern sentry_value_t sentry_get_modules_list(); - [DllImport("sentry")] + [DllImport("__Internal")] internal static extern void sentry_value_decref(sentry_value_t value); // native union sentry_value_u/t From 3933ccb513db03b9bcadc873f4d6a37854ff09de Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Tue, 13 Jan 2026 17:51:10 +0100 Subject: [PATCH 3/5] Added missing Switch support/controls --- .../ConfigurationWindow/AdvancedTab.cs | 4 ++++ src/Sentry.Unity.Editor/Native/BuildPostProcess.cs | 11 ++++++++++- src/Sentry.Unity.Native/SentryNativeBridge.cs | 3 ++- src/Sentry.Unity/ScriptableSentryUnityOptions.cs | 2 ++ src/Sentry.Unity/SentryUnityOptions.cs | 8 +++++++- src/Sentry.Unity/SentryUnityOptionsExtensions.cs | 1 + 6 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs b/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs index 081dc3d5c..b4f24f13e 100644 --- a/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs +++ b/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs @@ -147,6 +147,10 @@ internal static void Display(ScriptableSentryUnityOptions options, SentryCliOpti options.PlayStationNativeSupportEnabled = EditorGUILayout.Toggle( new GUIContent("PlayStation", "Whether to enable native crash support on PlayStation."), options.PlayStationNativeSupportEnabled); + + options.SwitchNativeSupportEnabled = EditorGUILayout.Toggle( + new GUIContent("Nintendo Switch", "Whether to enable native crash support on Nintendo Switch."), + options.SwitchNativeSupportEnabled); } EditorGUI.indentLevel--; diff --git a/src/Sentry.Unity.Editor/Native/BuildPostProcess.cs b/src/Sentry.Unity.Editor/Native/BuildPostProcess.cs index 8c2a3d103..e47710831 100644 --- a/src/Sentry.Unity.Editor/Native/BuildPostProcess.cs +++ b/src/Sentry.Unity.Editor/Native/BuildPostProcess.cs @@ -55,6 +55,7 @@ and not BuildTargetGroup.PS5 BuildTargetGroup.Standalone => Path.GetDirectoryName(executablePath), BuildTargetGroup.GameCoreXboxSeries => executablePath, BuildTargetGroup.PS5 => executablePath, + BuildTargetGroup.Switch => executablePath, _ => string.Empty }; @@ -92,6 +93,7 @@ and not BuildTargetGroup.PS5 BuildTarget.StandaloneLinux64 => options.LinuxNativeSupportEnabled, BuildTarget.GameCoreXboxSeries or BuildTarget.GameCoreXboxOne => options.XboxNativeSupportEnabled, BuildTarget.PS5 => options.PlayStationNativeSupportEnabled, + BuildTarget.Switch => options.SwitchNativeSupportEnabled, _ => false, }; @@ -116,6 +118,9 @@ private static void AddCrashHandler(IDiagnosticLogger logger, BuildTarget target case BuildTarget.PS5: // No standalone crash handler for PlayStation return; + case BuildTarget.Switch: + // No standalone crash handler for Nintendo Switch + return; default: throw new ArgumentException($"Unsupported build target: {target}"); } @@ -188,7 +193,11 @@ private static void UploadDebugSymbols(IDiagnosticLogger logger, BuildTarget tar } break; case BuildTarget.Switch: - // TODO: Add Switch-specific symbol path if needed + var switchSentryPluginPath = Path.GetFullPath("Assets/Plugins/Sentry/"); + if (Directory.Exists(switchSentryPluginPath)) + { + paths += $" \"{switchSentryPluginPath}\""; + } break; default: logger.LogError($"Symbol upload for '{target}' is currently not supported."); diff --git a/src/Sentry.Unity.Native/SentryNativeBridge.cs b/src/Sentry.Unity.Native/SentryNativeBridge.cs index a45adb430..97a7a9a8c 100644 --- a/src/Sentry.Unity.Native/SentryNativeBridge.cs +++ b/src/Sentry.Unity.Native/SentryNativeBridge.cs @@ -18,7 +18,8 @@ public static bool Init(SentryUnityOptions options) { _useLibC = Application.platform is RuntimePlatform.LinuxPlayer or RuntimePlatform.LinuxServer - or RuntimePlatform.PS5; + or RuntimePlatform.PS5 + or RuntimePlatform.Switch; _isWindows = Application.platform is RuntimePlatform.WindowsPlayer or RuntimePlatform.WindowsServer; var cOptions = sentry_options_new(); diff --git a/src/Sentry.Unity/ScriptableSentryUnityOptions.cs b/src/Sentry.Unity/ScriptableSentryUnityOptions.cs index a7f7e6012..d13bf7ed1 100644 --- a/src/Sentry.Unity/ScriptableSentryUnityOptions.cs +++ b/src/Sentry.Unity/ScriptableSentryUnityOptions.cs @@ -112,6 +112,7 @@ public static string GetConfigPath(string? notDefaultConfigName = null) [field: SerializeField] public bool LinuxNativeSupportEnabled { get; set; } = true; [field: SerializeField] public bool XboxNativeSupportEnabled { get; set; } = true; [field: SerializeField] public bool PlayStationNativeSupportEnabled { get; set; } = true; + [field: SerializeField] public bool SwitchNativeSupportEnabled { get; set; } = true; [field: SerializeField] public bool Il2CppLineNumberSupportEnabled { get; set; } = true; [field: SerializeField] public SentryOptionsConfiguration? OptionsConfiguration { get; set; } @@ -193,6 +194,7 @@ internal SentryUnityOptions ToSentryUnityOptions( LinuxNativeSupportEnabled = LinuxNativeSupportEnabled, XboxNativeSupportEnabled = XboxNativeSupportEnabled, PlayStationNativeSupportEnabled = PlayStationNativeSupportEnabled, + SwitchNativeSupportEnabled = SwitchNativeSupportEnabled, Il2CppLineNumberSupportEnabled = Il2CppLineNumberSupportEnabled, PerformanceAutoInstrumentationEnabled = AutoAwakeTraces, EnableLogs = EnableStructuredLogging, diff --git a/src/Sentry.Unity/SentryUnityOptions.cs b/src/Sentry.Unity/SentryUnityOptions.cs index 155fd3716..a9da34e40 100644 --- a/src/Sentry.Unity/SentryUnityOptions.cs +++ b/src/Sentry.Unity/SentryUnityOptions.cs @@ -237,6 +237,11 @@ public sealed class SentryUnityOptions : SentryOptions /// public bool PlayStationNativeSupportEnabled { get; set; } = true; + /// + /// Whether the SDK should add native support for Nintendo Switch + /// + public bool SwitchNativeSupportEnabled { get; set; } = true; + /// /// Whether the SDK should add IL2CPP line number support /// @@ -502,7 +507,8 @@ or RuntimePlatform.LinuxServer or RuntimePlatform.WebGLPlayer or RuntimePlatform.GameCoreXboxSeries or RuntimePlatform.GameCoreXboxOne - or RuntimePlatform.PS5; + or RuntimePlatform.PS5 + or RuntimePlatform.Switch; } public override string ToString() diff --git a/src/Sentry.Unity/SentryUnityOptionsExtensions.cs b/src/Sentry.Unity/SentryUnityOptionsExtensions.cs index 48e75ef31..bb3df576d 100644 --- a/src/Sentry.Unity/SentryUnityOptionsExtensions.cs +++ b/src/Sentry.Unity/SentryUnityOptionsExtensions.cs @@ -60,6 +60,7 @@ internal static bool IsNativeSupportEnabled(this SentryUnityOptions options, Run RuntimePlatform.LinuxPlayer or RuntimePlatform.LinuxServer => options.LinuxNativeSupportEnabled, RuntimePlatform.GameCoreXboxSeries or RuntimePlatform.GameCoreXboxOne => options.XboxNativeSupportEnabled, RuntimePlatform.PS5 => options.PlayStationNativeSupportEnabled, + RuntimePlatform.Switch => options.SwitchNativeSupportEnabled, _ => false }; } From 90e4ab15c6f9c8bcb0ee7f6281529e163b1ef516 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Tue, 13 Jan 2026 17:54:19 +0100 Subject: [PATCH 4/5] Reverted imports --- src/Sentry.Unity.Android/SentryNative.cs | 2 +- src/Sentry.Unity.Native/SentryNativeBridge.cs | 32 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/Sentry.Unity.Android/SentryNative.cs b/src/Sentry.Unity.Android/SentryNative.cs index c0ea0ef4b..ee1d96d02 100644 --- a/src/Sentry.Unity.Android/SentryNative.cs +++ b/src/Sentry.Unity.Android/SentryNative.cs @@ -27,7 +27,7 @@ public static class SentryNative public static void ReinstallBackend() => ReinstallSentryNativeBackendStrategy(); // libsentry.io - [DllImport("__Internal")] + [DllImport("sentry")] private static extern void sentry_reinstall_backend(); // Testing diff --git a/src/Sentry.Unity.Native/SentryNativeBridge.cs b/src/Sentry.Unity.Native/SentryNativeBridge.cs index 97a7a9a8c..21e36e2dc 100644 --- a/src/Sentry.Unity.Native/SentryNativeBridge.cs +++ b/src/Sentry.Unity.Native/SentryNativeBridge.cs @@ -121,31 +121,31 @@ internal static string GetCacheDirectory(SentryUnityOptions options) internal static void ReinstallBackend() => sentry_reinstall_backend(); // libsentry.so - [DllImport("__Internal")] + [DllImport("sentry")] private static extern IntPtr sentry_options_new(); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern void sentry_options_set_dsn(IntPtr options, string dsn); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern void sentry_options_set_release(IntPtr options, string release); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern void sentry_options_set_debug(IntPtr options, int debug); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern void sentry_options_set_environment(IntPtr options, string environment); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern void sentry_options_set_sample_rate(IntPtr options, double rate); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern void sentry_options_set_database_path(IntPtr options, string path); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern void sentry_options_set_database_pathw(IntPtr options, [MarshalAs(UnmanagedType.LPWStr)] string path); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern void sentry_options_set_auto_session_tracking(IntPtr options, int debug); [DllImport("sentry")] @@ -154,7 +154,7 @@ internal static string GetCacheDirectory(SentryUnityOptions options) [UnmanagedFunctionPointer(CallingConvention.Cdecl, SetLastError = true)] private delegate void sentry_logger_function_t(int level, IntPtr message, IntPtr argsAddress, IntPtr userData); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern void sentry_options_set_logger(IntPtr options, sentry_logger_function_t logger, IntPtr userData); // The logger we should forward native messages to. This is referenced by nativeLog() which in turn for. @@ -250,7 +250,7 @@ private static void nativeLogImpl(int cLevel, IntPtr format, IntPtr args, IntPtr } #if SENTRY_NATIVE_PLAYSTATION - [DllImport("__Internal", EntryPoint = "vsnprintf_sentry")] + [DllImport("sentry", EntryPoint = "vsnprintf_sentry")] private static extern int vsnprintf_sentry(IntPtr buffer, UIntPtr bufferSize, IntPtr format, IntPtr args); #else // For Windows/Linux: use platform's native C library directly @@ -303,18 +303,18 @@ private static void WithMarshalledStruct(T structure, Action action) action(ptr); }); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern int sentry_init(IntPtr options); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern int sentry_close(); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern int sentry_get_crashed_last_run(); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern int sentry_clear_crashed_last_run(); - [DllImport("__Internal")] + [DllImport("sentry")] private static extern void sentry_reinstall_backend(); } From da06528d9a3aac2694c11f2cea731f59e4d982bb Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Tue, 13 Jan 2026 17:55:40 +0100 Subject: [PATCH 5/5] Reverted imports --- src/Sentry.Unity.Native/SentryNativeBridge.cs | 2 +- src/Sentry.Unity/NativeUtils/CFunctions.cs | 52 +++++++++---------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/Sentry.Unity.Native/SentryNativeBridge.cs b/src/Sentry.Unity.Native/SentryNativeBridge.cs index 21e36e2dc..47a0914dc 100644 --- a/src/Sentry.Unity.Native/SentryNativeBridge.cs +++ b/src/Sentry.Unity.Native/SentryNativeBridge.cs @@ -250,7 +250,7 @@ private static void nativeLogImpl(int cLevel, IntPtr format, IntPtr args, IntPtr } #if SENTRY_NATIVE_PLAYSTATION - [DllImport("sentry", EntryPoint = "vsnprintf_sentry")] + [DllImport("__Internal", EntryPoint = "vsnprintf_sentry")] private static extern int vsnprintf_sentry(IntPtr buffer, UIntPtr bufferSize, IntPtr format, IntPtr args); #else // For Windows/Linux: use platform's native C library directly diff --git a/src/Sentry.Unity/NativeUtils/CFunctions.cs b/src/Sentry.Unity/NativeUtils/CFunctions.cs index 02447beb8..76088e02b 100644 --- a/src/Sentry.Unity/NativeUtils/CFunctions.cs +++ b/src/Sentry.Unity/NativeUtils/CFunctions.cs @@ -77,78 +77,78 @@ internal static void SetValueIfNotNull(sentry_value_t obj, string key, double? v return null; } - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern sentry_value_t sentry_value_new_object(); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern sentry_value_t sentry_value_new_null(); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern sentry_value_t sentry_value_new_bool(int value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern sentry_value_t sentry_value_new_double(double value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern sentry_value_t sentry_value_new_int32(int value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern sentry_value_t sentry_value_new_string(string value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern sentry_value_t sentry_value_new_breadcrumb(string? type, string? message); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern int sentry_value_set_by_key(sentry_value_t value, string k, sentry_value_t v); internal static bool IsNull(sentry_value_t value) => sentry_value_is_null(value) != 0; - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern int sentry_value_is_null(sentry_value_t value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern int sentry_value_as_int32(sentry_value_t value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern double sentry_value_as_double(sentry_value_t value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern IntPtr sentry_value_as_string(sentry_value_t value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern UIntPtr sentry_value_get_length(sentry_value_t value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern sentry_value_t sentry_value_get_by_index(sentry_value_t value, UIntPtr index); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern sentry_value_t sentry_value_get_by_key(sentry_value_t value, string key); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern void sentry_set_context(string key, sentry_value_t value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern void sentry_add_breadcrumb(sentry_value_t breadcrumb); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern void sentry_set_tag(string key, string value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern void sentry_remove_tag(string key); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern void sentry_set_user(sentry_value_t user); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern void sentry_remove_user(); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern void sentry_set_extra(string key, sentry_value_t value); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern void sentry_remove_extra(string key); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern void sentry_set_trace(string traceId, string parentSpanId); internal static readonly Lazy> DebugImages = new(LoadDebugImages); @@ -202,10 +202,10 @@ private static IEnumerable LoadDebugImages() // Returns a new reference to an immutable, frozen list. // The reference must be released with `sentry_value_decref`. - [DllImport("__Internal")] + [DllImport("sentry")] private static extern sentry_value_t sentry_get_modules_list(); - [DllImport("__Internal")] + [DllImport("sentry")] internal static extern void sentry_value_decref(sentry_value_t value); // native union sentry_value_u/t