diff --git a/Directory.Build.props b/Directory.Build.props
index 6a763ce64..d395f16d4 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -43,10 +43,63 @@
+
+
+
+
- $(UnityManagedPath)/UnityEngine.dll
+ $(UnityManagedPath)/UnityEngine/UnityEngine.dll
false
+
+ $(UnityManagedPath)/UnityEngine/UnityEngine.CoreModule.dll
+ false
+
+
+ $(UnityManagedPath)/UnityEngine/UnityEngine.IMGUIModule.dll
+ false
+
+
+ $(UnityManagedPath)/UnityEngine/UnityEngine.ImageConversionModule.dll
+ false
+
+
+ $(UnityManagedPath)/UnityEngine/UnityEngine.JSONSerializeModule.dll
+ false
+
+
+ $(UnityManagedPath)/UnityEngine/UnityEngine.ScreenCaptureModule.dll
+ false
+
+
+ $(UnityManagedPath)/UnityEngine/UnityEngine.UnityWebRequestModule.dll
+ false
+
+
+
+ $(UnityManagedPath)/UnityEngine/UnityEngine.AndroidJNIModule.dll
+ false
+
+
+
+ $(UnityManagedPath)/UnityEngine/UnityEngine.UnityAnalyticsModule.dll
+ false
+
+
+
+ $(UnityManagedPath)/UnityEngine/UnityEngine.InputLegacyModule.dll
+ false
+
+
+
+ $(UnityManagedPath)/UnityEngine/UnityEngine.ProfilerModule.dll
+ false
+
+
+
+
+
+
diff --git a/src/Sentry.Unity.Editor/ButtonInstrumentation.cs b/src/Sentry.Unity.Editor/ButtonInstrumentation.cs
new file mode 100644
index 000000000..6faa72645
--- /dev/null
+++ b/src/Sentry.Unity.Editor/ButtonInstrumentation.cs
@@ -0,0 +1,33 @@
+using UnityEditor.Build;
+using UnityEditor.Build.Reporting;
+using UnityEditor.Events;
+using UnityEngine.Events;
+using UnityEngine.SceneManagement;
+using UnityEngine.UI;
+
+namespace Sentry.Unity.Editor
+{
+ public class ButtonInstrumentation : IProcessSceneWithReport
+ {
+ public int callbackOrder { get; } = 0;
+
+ public void OnProcessScene(Scene scene, BuildReport report)
+ {
+ var gameObjects = scene.GetRootGameObjects();
+ if (gameObjects is { Length: > 0 })
+ {
+ var sentryScene = gameObjects[0].AddComponent();
+
+ foreach (var gameObject in gameObjects)
+ {
+ var buttons = gameObject.GetComponentsInChildren