Skip to content

feat: add Blueprint-callable SetAttribute/RemoveAttribute#138

Merged
bobbyg603 merged 5 commits into
mainfrom
bobby/runtime-attributes
Apr 8, 2026
Merged

feat: add Blueprint-callable SetAttribute/RemoveAttribute#138
bobbyg603 merged 5 commits into
mainfrom
bobby/runtime-attributes

Conversation

@bobbyg603
Copy link
Copy Markdown
Member

@bobbyg603 bobbyg603 commented Apr 7, 2026

Summary

  • Adds UBugSplatAttributes::SetAttribute and UBugSplatAttributes::RemoveAttribute as Blueprint-callable functions for setting crash report attributes at runtime
  • Works across all platforms:
    • Windows/macOS/Linux: FGenericCrashContext::SetGameData — flows into the crash context XML that BugSplat already parses as GameData_* attributes
    • iOS: [[BugSplat shared] setValue:forAttribute:]
    • Android: JNI → BugSplat.setAttribute() → crashpad SimpleStringDictionary
  • Rebuilds bugsplat-android-release.aar to include the new setAttribute/removeAttribute native methods added in feat: support setting attributes after handler start bugsplat-android#10

Test plan

  • Build and package for Windows — call SetAttribute from Blueprint, trigger crash, verify attribute appears in dashboard
  • Build and package for iOS — same test
  • Build and package for Android — same test
  • Verify RemoveAttribute removes the key from subsequent crash reports

🤖 Generated with Claude Code

Adds UBugSplatAttributes Blueprint function library for setting crash
report attributes at runtime across all platforms:

- Windows/macOS/Linux: FGenericCrashContext::SetGameData (flows into
  crash context XML that BugSplat already parses)
- iOS: [[BugSplat shared] setValue:forAttribute:]
- Android: JNI call to BugSplat.setAttribute (crashpad
  SimpleStringDictionary)

Also rebuilds bugsplat-android-release.aar to include the new
setAttribute/removeAttribute native methods.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 7, 2026 22:23
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a small Blueprint API surface to set/remove BugSplat crash-report attributes at runtime, routing the call to the appropriate per-platform mechanism (UE crash context on desktop, native BugSplat SDK on iOS/Android).

Changes:

  • Added UBugSplatAttributes Blueprint function library with SetAttribute / RemoveAttribute.
  • Implemented platform-specific plumbing for Windows/macOS/Linux (FGenericCrashContext::SetGameData), iOS ([BugSplat shared]), and Android (JNI → com.bugsplat.android.BugSplat).

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 3 comments.

File Description
Source/BugSplatRuntime/Public/BugSplatAttributes.h Declares Blueprint-callable attribute set/remove API.
Source/BugSplatRuntime/Private/BugSplatAttributes.cpp Implements per-platform attribute storage (crash context / iOS SDK / Android JNI).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Source/BugSplatRuntime/Private/BugSplatAttributes.cpp
Comment thread Source/BugSplatRuntime/Private/BugSplatAttributes.cpp
Comment thread Source/BugSplatRuntime/Private/BugSplatAttributes.cpp Outdated
@bobbyg603 bobbyg603 merged commit c7c0fc0 into main Apr 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants