diff --git a/package-dev/Runtime/Sentry.Unity.Native.Console.dll.meta b/package-dev/Runtime/Sentry.Unity.Native.Console.dll.meta
new file mode 100644
index 000000000..566a44313
--- /dev/null
+++ b/package-dev/Runtime/Sentry.Unity.Native.Console.dll.meta
@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: 8f4c2e5a7b1d4f9e8c3a6d2b5e9f1a4c
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ : Any
+ second:
+ enabled: 0
+ settings:
+ Exclude Android: 1
+ Exclude Editor: 1
+ Exclude Linux64: 1
+ Exclude OSXUniversal: 1
+ Exclude WebGL: 1
+ Exclude Win: 1
+ Exclude Win64: 1
+ Exclude iOS: 1
+ Exclude tvOS: 1
+ Exclude PS4: 0
+ Exclude PS5: 0
+ Exclude Switch: 0
+ - first:
+ Android: Android
+ second:
+ enabled: 0
+ settings:
+ CPU: ARMv7
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 0
+ settings:
+ CPU: x86_64
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ - first:
+ Standalone: Win
+ second:
+ enabled: 0
+ settings:
+ CPU: x86
+ - first:
+ Standalone: Win64
+ second:
+ enabled: 0
+ settings:
+ CPU: x86_64
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 0
+ settings:
+ AddToEmbeddedBinaries: false
+ CPU: AnyCPU
+ CompileFlags:
+ FrameworkDependencies:
+ - first:
+ tvOS: tvOS
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ CompileFlags:
+ FrameworkDependencies:
+ - first:
+ PS4: PS4
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ PS5: PS5
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ Switch: Switch
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ GameCoreScarlett: GameCoreScarlett
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ GameCoreXboxOne: GameCoreXboxOne
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ XboxOne: XboxOne
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/package-dev/Runtime/Sentry.Unity.Native.dll.meta b/package-dev/Runtime/Sentry.Unity.Native.dll.meta
index 9e9780954..5b10b2e33 100644
--- a/package-dev/Runtime/Sentry.Unity.Native.dll.meta
+++ b/package-dev/Runtime/Sentry.Unity.Native.dll.meta
@@ -25,6 +25,9 @@ PluginImporter:
Exclude Win64: 0
Exclude iOS: 1
Exclude tvOS: 1
+ Exclude PS4: 1
+ Exclude PS5: 1
+ Exclude Switch: 1
- first:
Android: Android
second:
@@ -94,13 +97,13 @@ PluginImporter:
- first:
GameCoreScarlett: GameCoreScarlett
second:
- enabled: 1
+ enabled: 0
settings:
CPU: AnyCPU
- first:
GameCoreXboxOne: GameCoreXboxOne
second:
- enabled: 1
+ enabled: 0
settings:
CPU: AnyCPU
userData:
diff --git a/src/Sentry.Unity.Native/Sentry.Unity.Native.csproj b/src/Sentry.Unity.Native/Sentry.Unity.Native.csproj
index e84334f9f..12f204c23 100644
--- a/src/Sentry.Unity.Native/Sentry.Unity.Native.csproj
+++ b/src/Sentry.Unity.Native/Sentry.Unity.Native.csproj
@@ -8,4 +8,16 @@
+
+
+
+
+
diff --git a/src/Sentry.Unity.Native/SentryNativeBridge.cs b/src/Sentry.Unity.Native/SentryNativeBridge.cs
index b73f179b4..0896f4188 100644
--- a/src/Sentry.Unity.Native/SentryNativeBridge.cs
+++ b/src/Sentry.Unity.Native/SentryNativeBridge.cs
@@ -111,40 +111,84 @@ internal static string GetCacheDirectory(SentryUnityOptions options)
internal static void ReinstallBackend() => sentry_reinstall_backend();
// libsentry.so
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern IntPtr sentry_options_new();
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern void sentry_options_set_dsn(IntPtr options, string dsn);
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern void sentry_options_set_release(IntPtr options, string release);
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern void sentry_options_set_debug(IntPtr options, int debug);
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern void sentry_options_set_environment(IntPtr options, string environment);
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern void sentry_options_set_sample_rate(IntPtr options, double rate);
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern void sentry_options_set_database_path(IntPtr options, string path);
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern void sentry_options_set_database_pathw(IntPtr options, [MarshalAs(UnmanagedType.LPWStr)] string path);
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern void sentry_options_set_auto_session_tracking(IntPtr options, int debug);
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern void sentry_options_set_attach_screenshot(IntPtr options, int attachScreenshot);
[UnmanagedFunctionPointer(CallingConvention.Cdecl, SetLastError = true)]
private delegate void sentry_logger_function_t(int level, IntPtr message, IntPtr argsAddress, IntPtr userData);
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
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.
@@ -238,10 +282,18 @@ private static void nativeLogImpl(int cLevel, IntPtr format, IntPtr args, IntPtr
}
}
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal", EntryPoint = "vsnprintf")]
+#else
[DllImport("msvcrt", EntryPoint = "vsnprintf")]
+#endif
private static extern int vsnprintf_windows(IntPtr buffer, UIntPtr bufferSize, IntPtr format, IntPtr args);
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal", EntryPoint = "vsnprintf")]
+#else
[DllImport("libc", EntryPoint = "vsnprintf")]
+#endif
private static extern int vsnprintf_linux(IntPtr buffer, UIntPtr bufferSize, IntPtr format, IntPtr args);
// https://stackoverflow.com/a/4958507/2386130
@@ -275,18 +327,38 @@ private static void WithMarshalledStruct(T structure, Action action)
action(ptr);
});
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern int sentry_init(IntPtr options);
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern int sentry_close();
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern int sentry_get_crashed_last_run();
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern int sentry_clear_crashed_last_run();
+#if SENTRY_NATIVE_STATIC
+ [DllImport("__Internal")]
+#else
[DllImport("sentry")]
+#endif
private static extern void sentry_reinstall_backend();
}
diff --git a/src/Sentry.Unity/Properties/AssemblyInfo.cs b/src/Sentry.Unity/Properties/AssemblyInfo.cs
index a09dff694..490602eb8 100644
--- a/src/Sentry.Unity/Properties/AssemblyInfo.cs
+++ b/src/Sentry.Unity/Properties/AssemblyInfo.cs
@@ -1,6 +1,7 @@
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Sentry.Unity.Native")]
+[assembly: InternalsVisibleTo("Sentry.Unity.Native.Console")]
[assembly: InternalsVisibleTo("Sentry.Unity.Tests")]
[assembly: InternalsVisibleTo("Sentry.Unity.Editor")]
[assembly: InternalsVisibleTo("Sentry.Unity.Editor.Tests")]
diff --git a/test/Scripts.Tests/package-release.zip.snapshot b/test/Scripts.Tests/package-release.zip.snapshot
index 3cf060b7f..f51c2fa43 100644
--- a/test/Scripts.Tests/package-release.zip.snapshot
+++ b/test/Scripts.Tests/package-release.zip.snapshot
@@ -279,6 +279,10 @@ Runtime/Sentry.Unity.iOS.dll
Runtime/Sentry.Unity.iOS.dll.meta
Runtime/Sentry.Unity.iOS.pdb
Runtime/Sentry.Unity.iOS.pdb.meta
+Runtime/Sentry.Unity.Native.Console.dll
+Runtime/Sentry.Unity.Native.Console.dll.meta
+Runtime/Sentry.Unity.Native.Console.pdb
+Runtime/Sentry.Unity.Native.Console.pdb.meta
Runtime/Sentry.Unity.Native.dll
Runtime/Sentry.Unity.Native.dll.meta
Runtime/Sentry.Unity.Native.pdb