Skip to content

Commit

Permalink
Merge pull request #16644 from ndesai-newrelic/develop
Browse files Browse the repository at this point in the history
hybrid mobile agent releases for ios agent update
  • Loading branch information
ally-sassman committed Apr 11, 2024
2 parents 2e17ef1 + 397ec14 commit 7ba7880
Show file tree
Hide file tree
Showing 37 changed files with 1,370 additions and 60 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,224 @@
---
title: Monitor your Unreal Engine mobile app
tags:
- Unreal Engine
- Mobile monitoring
- New Relic Mobile Unreal Engine
- Get started
metaDescription: "New Relic's Unreal Engine for Android and iOS: Features, compatibility, requirements, installation, and upgrade procedures."
isTutorial: true
freshnessValidatedDate: 2024-04-05
---

import mobileHybridSummary from 'images/mobile_screenshot-full_hybrid-summary.webp'

import unrealGuidedInstall from 'images/newrelic_unreal_sdk_installation.webp'

import unrealAgentAppTokenSetup from 'images/newrelic_unreal_sdk_configuration.webp'

import mobileHandledExceptionsSummary from 'images/mobile_screenshot-full_handled-exceptions-summary.webp'

Our New Relic Unreal Engine Plugin monitors your Unreal Engine mobile app and provides deep insights into your app's performance, errors, and user experience. Once you install and configure the Unreal Engine Plugin, you'll be able to:

* **Capture C++ errors so you can quickly identify and fix problems.
* **Create custom events and metrics:** Understand how your users interact with your app.

<img
title="Unreal Engine summary view in the UI"
alt="Summary view of a Unreal Engine app in New Relic"
src={mobileHybridSummary}
style={{ maxWidth: '70%' }}
/>

<figcaption>
<DoNotTranslate>**[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Mobile > (select an app) > Summary**</DoNotTranslate>: View Unreal Engine data, and errors, and monitor how your app is performing over time.
</figcaption>

## Manual installation [#manual-install]

If you need to install the plugin manually, follow the steps below.

<Steps>
<Step>
### Review the requirements [#requirements]
Before you install the Unreal Engine Plugin, make sure your Unreal Engine app meets these version requirements:
* For Android-native apps:
* Android API 24 or higher
* See [Android-native requirements](/docs/mobile-monitoring/new-relic-mobile-android/get-started/new-relic-android-compatibility-requirements)
* For iOS-native apps:
* See [iOS-native requirements](/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements)
</Step>
<Step>
### Add the agent to your project [#add-agent]

1. In your project's root directory, create a folder named `Plugins`.
2. Copy the [`NewRelic` folder on Github](https://github.com/ndesai-newrelic/newrelic-unreal-plugin/tree/master/Plugins/NewRelic). You should have something like

```
MyProject
├── Plugins
└── NewRelic
└── NewRelic.uplugin
```

</Step>
<Step>
Click **Restart Now** to continue with additional configuration.
</Step>
<Step>
To allow interfacing between the agent and your C++ code, add `NewRelic` to the list of dependencies in your game module’s `.Build.cs` file:

</Step>
<Step>
### Add application token(s) [#app-token]

To authenticate your Unreal Engine app's data with New Relic, add your application token(s) using one of these options:

* In your project settings under **Plugins → NewRelic**, paste your app tokens(s) in the **New Relic App Token field(s)**. If you want to have separate New Relic mobile apps (one of Android and one for iOS), then you'll need to add both app tokens.

<img
title="App token fields in Unreal editor"
alt="Screenshot of app token fields in project settings"
src={unrealAgentAppTokenSetup}
style={{ maxWidth: '70%' }}
/>

* In your `Config/DefaultEngine.ini` file, add the following to `/Script/NewRelic.NewRelicSDKSettings`, making sure add your own app token(s):

```
newrelicAppToken=application-token
newrelicAppTokenIOS=ios-application-token
```

</Step>
</Steps>

## Customize the agent instrumentation [#mobile-sdk]

Need to customize your agent instrumentation? Our public mobile SDK API methods let you collect custom data, configure default settings, and more.

The following customizations are available for the Unreal Engine Plugin.

<table>
<thead>
<tr>
<th style={{ width: "300px" }}>
If you want to...
</th>

<th>
Use this method
</th>
</tr>
</thead>

<tbody>
<tr>
<td id="crash-analysis">
Record breadcrumbs to track app activity that may be helpful for troubleshooting crashes.
</td>

<td>
[Record breadcrumbs](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/record-breadcrumb/#unreal)
</td>
</tr>

<tr>
<td id="creating">
Track a method as an interaction.
</td>

<td>
[Start interactions](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/start-interaction/#unreal)

[Stop interactions](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/stop-interaction/#unreal)
</td>
</tr>

<tr>
<td id="create-custom">
Record custom metrics.
</td>

<td>
[Record custom metrics](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/record-custom-metrics//#unreal)
</td>
</tr>

<tr>
<td id="create-custom">
Record an exception.
</td>

<td>
[Record errors](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/record-handled-exceptions/#unreal)
</td>

</tr>
<tr>
<td id="attributes-events-insights">
Record custom attributes and events.
</td>

<td>
There are several ways to report custom attributes and events:

* [Record custom attributes](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/create-attribute/#unreal)
* [Increment session attribute count](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/increment-session-attribute-count/#unreal)
* [Remove an attribute](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/remove-attribute/#unreal)
* [Remove all attributes](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/remove-all-attributes/#unreal)
* [Record custom events](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/record-custom-events/#unreal)
* [Set the maximum size of an event pool](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/set-max-event-pool-size/#unreal)
* [Set maximum time the agent stores events in memory](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/set-max-event-buffer-time/#unreal)
* [Get a current session's ID](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/current-session-id/#unreal)
* [Set a custom user ID to associate with events and attributes](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/set-custom-user-id/#unreal)

To determine which method to use, see [Report mobile monitoring custom events and attributes](/docs/data-apis/custom-data/custom-events/report-mobile-monitoring-custom-events-attributes/).
</td>
</tr>

<tr>
<td>
Shut down the agent.
</td>

<td>
[Shut down the agent](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/shut-down-agent/#unreal)
</td>
</tr>
<tr>
<td>
Run a test crash report.
</td>

<td>
[Test crash reporting](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/test-crash-reporting/#unreal)
</td>
</tr>
</tbody>
</table>


## Monitor C++ errors [#monitor-errors]

In the New Relic UI, you can view your fatal and non-fatal C++ errors and handled exceptions, including details like event trails, attributes, and stack traces for each recorded error.

<img
title="Mobile Handled Exceptions"
alt="Mobile Handled Exceptions"
src={mobileHandledExceptionsSummary}
/>


To view your errors:
1. Go to <DoNotTranslate>**[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Mobile**</DoNotTranslate>.
2. Select your Unreal Engine app.
3. Click <DoNotTranslate>**Exceptions > Handled exceptions**</DoNotTranslate>.

You can also build a dashboard for these errors using this query:

```sql
SELECT * FROM MobileHandledException SINCE 24 hours ago
```

For more information on NRQL queries, see [Introduction to NRQL](/docs/query-your-data/nrql-new-relic-query-language/get-started/introduction-nrql-new-relics-query-language/#where).
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,11 @@ redirects:
freshnessValidatedDate: 2024-03-14
---

import unrealAgentAppTokenSetup from 'images/newrelic_unreal_sdk_configuration.webp'

import mobileUnityEditorUI from 'images/mobile_screenshot-crop_Unity-editor-UI.webp'


<Tabs>
<TabsBar>
<TabsBarItem id="android">
Expand All @@ -49,6 +52,9 @@ import mobileUnityEditorUI from 'images/mobile_screenshot-crop_Unity-editor-UI.w
<TabsBarItem id="unity">
Unity
</TabsBarItem>
<TabsBarItem id="unreal">
Unreal Engine
</TabsBarItem>
<TabsBarItem id="xamarin">
Xamarin
</TabsBarItem>
Expand Down Expand Up @@ -2023,11 +2029,30 @@ To configure these settings:
alt="Screenshot of the Unity editor to configure settings"
src={mobileUnityEditorUI}
/>
4. Click **Add component**.

4. Click **Add component**.

</TabsPageItem>

<TabsPageItem id="unreal">

New Relic offers default settings for mobile app monitoring in Unreal Engine. You can easily adjust these settings within the Unreal editor to fit your specific needs.

To configure these settings:

1. Launch the Unreal Editor and open your Unreal project.

2. From the menu bar, select **Plugins > New Relic > **.


<img
title="Unreal editor"
alt="Screenshot of the Unreal editor to configure settings"
src={unrealAgentAppTokenSetup}
/>

</TabsPageItem>

<TabsPageItem id="xamarin">
The Xamarin agent SDK allows you to configure default settings to change the behavior of the agent.

Expand Down
Loading

0 comments on commit 7ba7880

Please sign in to comment.