{"componentChunkName":"component---src-templates-platform-tsx","path":"/platforms/native/guides/ue4/","result":{"data":{"file":{"id":"7eccde76-d3cd-50f8-936f-cfd4aad8bfde","relativePath":"native/guides/ue4/index.mdx","sourceInstanceName":"platforms","childMarkdownRemark":null,"childMdx":{"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Unreal Engine 4\",\n  \"redirect_from\": [\"/platforms/unrealengine/\", \"/platforms/native/ue4/\"]\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar CodeTabs = makeShortcode(\"CodeTabs\");\nvar CodeBlock = makeShortcode(\"CodeBlock\");\nvar Alert = makeShortcode(\"Alert\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Installation of a Sentry SDK is not required in order to capture the crashes of your\\nUE4 application or game. Sentry supports the \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"UE4 Crash Reporter\"), \".\"), mdx(\"p\", null, \"To integrate your UE4 game or application with Sentry, the following steps are required:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Include the \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"UE4 Crash Reporter\"), \" to your game or application.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Include Debug information in the crash reports.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Add the Sentry DSN to the relevant configuration file.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Upload your games symbols so Sentry can display function names and line numbers.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Optionally enable Event Attachments for your Sentry project.\")), mdx(\"p\", null, \"Below we'll break down each step in detail.\"), mdx(\"h2\", {\n    \"id\": \"ue4-crash-reporter\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#ue4-crash-reporter\",\n    \"aria-label\": \"ue4 crash reporter permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"UE4 Crash reporter\"), mdx(\"p\", null, \"The UE4 Crash Reporter is provided out of the box by Epic Games. It is able to collect relevant\\ninformation about the crash and send it to a service like Sentry to process.\"), mdx(\"p\", null, \"Adding it to your game means that in case a crash happens, the following dialog is displayed\\nto the user:\"), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/b432f555f4c400b2da3d5ce0e49b6391/a8a6f/ue4-crash-reporter.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"58.333333333333336%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAsSAAALEgHS3X78AAABbklEQVQoz1WSXW+CUAyGy3RTprALo9Ho1PkvxoYZCILgIuPLYeaV10YTjf79vZZxwp6L8p6enrakpZ9Pwwk+THM2m5mGYeBjWZZt28vlMggCx3GgTdPUNO2tQCugIIrX6XeWZd9/ZEmSJkkCtdlsVqvVfD5HCtd1F4uFsJ7nQVAcRWmarhk8g0Ue5IIzjmNYZMkDhIBFX77vk8O4jKiAVnVdn06nesF7Qd75K0PtdltV1acSiqKoBULLslxnZOaRIUTXarV6CXHXaDSEFTyUoH6/3+12e73eYDB4ZlqtFlJUq9V7RoicO0aSpNvjTqeDaDSPFnDGM9hKpUJEiCBGYug/SEqj0Wg4HL4wKIv64/EYGn4I2MlkggDUwP83m02lBO12Owzzi4miCIsRhmF0I8w9YQncYkIeg40iXPsFmJDF2CWsAowQMRBYuNxD+/3+dDqdz+fj8YhkmGR5qvkRYBm32+31ekXk4XC4XC4QvyWmjB+lowp8AAAAAElFTkSuQmCC')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"The UE4 Crash Reporter\",\n    \"title\": \"The UE4 Crash Reporter\",\n    \"src\": \"/static/b432f555f4c400b2da3d5ce0e49b6391/c1b63/ue4-crash-reporter.png\",\n    \"srcSet\": [\"/static/b432f555f4c400b2da3d5ce0e49b6391/5a46d/ue4-crash-reporter.png 300w\", \"/static/b432f555f4c400b2da3d5ce0e49b6391/0a47e/ue4-crash-reporter.png 600w\", \"/static/b432f555f4c400b2da3d5ce0e49b6391/c1b63/ue4-crash-reporter.png 1200w\", \"/static/b432f555f4c400b2da3d5ce0e49b6391/a8a6f/ue4-crash-reporter.png 1516w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \")), mdx(\"h3\", {\n    \"id\": \"include-the-ue4-crash-reporter\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#include-the-ue4-crash-reporter\",\n    \"aria-label\": \"include the ue4 crash reporter permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Include the UE4 Crash Reporter\"), mdx(\"p\", null, \"You can add the \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Crash Report Client\"), \" to your game in your \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Project Settings\"), \".\"), mdx(\"p\", null, \"The simplest way is to search the option: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Crash Reporter\"), \":\"), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/8623e544dbdbe6a2dda7d9f0117c404b/e8e04/ue4-include-crash-reporter.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"41.66666666666667%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAAsSAAALEgHS3X78AAABc0lEQVQY02VP207CUBDsb2jENJReTkspvZ229E4ptbQIEg1vRl8sESmQeIk+QSLGRP1nV3iQ6GayyZ6dOTtDjFwcpuLFePT0cF+W5WIxh75cLgeDga7rDUnlhSYSJF6Q0D8QZJViGaTrmmVZGBumYWCMXdcxTZOuVS/H4eymP5+clcVwdnM6KwbzYri8He1AiGLddmzLatW2RdM0SZKGYaRpTxTox/L8fT15WxUfr9Ovzd3nZgrj6vkKsH65JhRFiePY8zyEEMuyHMdRFNVqtbIs5xEDLrDhMCwP/g3Ttm1fUXDluHpUIQ8OKwQIgCpJEsMw++I8zzmWcmwchmEQ+HJTkmVJVWVNUzHWFUVuNEQCDgZB0OlEO/2euI+4Whg4vV6WpidR1PZ9396W49hZlvm+RwAbXl3X1TQNAv/azvs8okEcRZ0oipIkabd/9BAQepqm4IjgeR5mSP7HNmSuC2w3DrtJAltwB1904xhWQIAzwP8GGJdy9eeb8lYAAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"Include UE4 Crash Reporter\",\n    \"title\": \"Include UE4 Crash Reporter\",\n    \"src\": \"/static/8623e544dbdbe6a2dda7d9f0117c404b/c1b63/ue4-include-crash-reporter.png\",\n    \"srcSet\": [\"/static/8623e544dbdbe6a2dda7d9f0117c404b/5a46d/ue4-include-crash-reporter.png 300w\", \"/static/8623e544dbdbe6a2dda7d9f0117c404b/0a47e/ue4-include-crash-reporter.png 600w\", \"/static/8623e544dbdbe6a2dda7d9f0117c404b/c1b63/ue4-include-crash-reporter.png 1200w\", \"/static/8623e544dbdbe6a2dda7d9f0117c404b/e8e04/ue4-include-crash-reporter.png 1270w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \")), mdx(\"p\", null, \"The option is located under \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Project > Packaging\"), \" menu, then select \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"show advanced\"), \" followed by\\nchecking the box for: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Include Crash Reporter\"), \".\"), mdx(\"h2\", {\n    \"id\": \"debug-information\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#debug-information\",\n    \"aria-label\": \"debug information permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Debug information\"), mdx(\"p\", null, \"To get the most out of Sentry, crash reports are required to include debug information.\\nIn order for Sentry to be able to process the crash report and translate\\nmemory addresses to meaningful information like function names, module names\\nand line numbers, the crash itself must include debug information and also, \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"#upload-debug-symbols\"\n  }), \"symbols need\\nto be uploaded to Sentry\"), \".\"), mdx(\"h3\", {\n    \"id\": \"include-debug-information\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h3\"\n  }, {\n    \"href\": \"#include-debug-information\",\n    \"aria-label\": \"include debug information permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Include Debug Information\"), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1200px\"\n    }\n  }), \"\\n      \", mdx(\"a\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/22825f702255028555eabf8cca3bcb66/5148a/ue4-include-debug-files.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }), \"\\n    \", mdx(\"span\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"43.333333333333336%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAAsSAAALEgHS3X78AAABcElEQVQoz31Qy07CQBTth2jQlj5JO31OWwp9AhYfSEs0AaNuNLKhNQZ16ZYEF4q4EH/WW1CCLjw5M7kzc889dy4RHlQ6ydHj/d1olOV5nmXZbZ4Phzf1el3XDSSrSFYkJEvSkkj+jpcBwdC8aZquW6v+wLbtIPB5voJEbnASnaaN8377or+/5uXZ4eWgIAHJIGYYhiRJiqLK5XKpVOp0OuAZuupscj15uppPs8+3h8VsvHgdf7yM59Mc+P6cE1EUQYeSJIGeZVmO46BEr9czDENXhUboNiMPSYJTxWFQ22v6vuewDEmR27s7W4TnuYqi0DTNLrESp2lqGFiWWNixaSGkABVF03Rd0w1V0+HI8QKIPdd1RVH8K8ZYlbl2O+52j8MwBEe7gAULYxzHMbRMQM/wBnPabBvEkKEpQs1xoHQAA/T99UQty4qiBtwUzvA9hNCmc5Ik2DSRCAXpNZgNwFzhhmi1WuC8sv0lxoWY/RdfkUh8s5RcdjsAAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"img\", _extends({\n    parentName: \"a\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"Include Debug Files\",\n    \"title\": \"Include Debug Files\",\n    \"src\": \"/static/22825f702255028555eabf8cca3bcb66/c1b63/ue4-include-debug-files.png\",\n    \"srcSet\": [\"/static/22825f702255028555eabf8cca3bcb66/5a46d/ue4-include-debug-files.png 300w\", \"/static/22825f702255028555eabf8cca3bcb66/0a47e/ue4-include-debug-files.png 600w\", \"/static/22825f702255028555eabf8cca3bcb66/c1b63/ue4-include-debug-files.png 1200w\", \"/static/22825f702255028555eabf8cca3bcb66/5148a/ue4-include-debug-files.png 1228w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  })), \"\\n  \"), \"\\n    \")), mdx(\"p\", null, \"The option is also located under \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Project > Packaging\"), \" menu, then select \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"show advanced\"), \" followed by\\nchecking the box for: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Include Debug Files\"), \".\"), mdx(\"h2\", {\n    \"id\": \"add-the-sentry-dsn\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#add-the-sentry-dsn\",\n    \"aria-label\": \"add the sentry dsn permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Add the Sentry DSN\"), mdx(\"p\", null, \"Now that the \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Crash Reporter\"), \" and \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Debug Files\"), \" are included, UE4 needs to know where to send the\\ncrash. For that, we add the Sentry \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"DSN\"), \" (Data Source Name) to game's configuration file. This will\\ninclude which project within Sentry you want to see the crashes arriving in real time.\\nThat's accomplished by configuring the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"CrashReportClient\"), \" in the \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"DefaultEngine.ini\"), \" file.\"), mdx(\"p\", null, \"Edit the file:\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"project-root\\\\Config\\\\DefaultEngine.ini\")), mdx(\"p\", null, \"Add the configuration section:\"), mdx(\"div\", {\n    \"className\": \"code-tabs-wrapper\"\n  }, mdx(CodeTabs, {\n    mdxType: \"CodeTabs\"\n  }, mdx(CodeBlock, {\n    language: \"ini\",\n    title: \"\",\n    filename: \"DefaultEngine.ini\",\n    mdxType: \"CodeBlock\"\n  }, mdx(\"div\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"ini\"\n  }), mdx(\"pre\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"language-ini\"\n  }), mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-ini\"\n  }), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token selector\"\n  }), \"[CrashReportClient]\"), \"\\n\", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token constant\"\n  }), \"CrashReportClientVersion\"), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token attr-value\"\n  }), mdx(\"span\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"=\"), \"1.0\"), \"\\n\", mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token constant\"\n  }), \"DataRouterUrl\"), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token attr-value\"\n  }), mdx(\"span\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), \"=\"), \"\\\"___UNREAL_URL___\\\"\"))))))), mdx(Alert, {\n    level: \"info\",\n    title: \"Note\",\n    mdxType: \"Alert\"\n  }, mdx(\"markdown\", null, mdx(\"p\", null, \"If a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"[CrashReportClient]\"), \" section already exists, simply changing the value of \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"DataRouterUrl\"), \"\\nis enough.\"))), mdx(\"h2\", {\n    \"id\": \"upload-debug-symbols\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#upload-debug-symbols\",\n    \"aria-label\": \"upload debug symbols permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Upload Debug Symbols\"), mdx(\"p\", null, \"To allow Sentry to fully process native crashes and provide you with\\nsymbolicated stack traces, you need to upload \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Debug Information Files\"), \"\\n(sometimes also referred to as \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Debug Symbols\"), \" or just \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Symbols\"), \"). We recommend\\nuploading debug information during your build or release process.\"), mdx(\"p\", null, \"For all libraries where you'd like to receive symbolication, \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"you need\\nto provide debug information\"), \". This includes dependencies and operating system\\nlibraries. If you are not sure which files are required, go to \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Project\\nSettings > Processing Issues\"), \", which shows a list of all the necessary files and\\ninstructions to retrieve them.\"), mdx(\"p\", null, \"In addition to Debug Information Files, Sentry needs \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Call Frame Information\"), \"\\n(CFI) to extract accurate stack traces from minidumps of optimized release\\nbuilds. CFI is usually part of the executables and not copied to debug symbols.\\nUnless you are uploading Breakpad symbols, be sure to also include the binaries\\nwhen uploading files to Sentry.\"), mdx(\"p\", null, \"For more information on uploading debug information and their supported formats,\\nsee \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/workflow/debug-files/\"\n  }), \"Debug Information Files\"), \".\"), mdx(\"h2\", {\n    \"id\": \"event-attachments\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#event-attachments\",\n    \"aria-label\": \"event attachments permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Event Attachments\"), mdx(\"p\", null, \"The files within the crash uploaded to Sentry can be persisted using \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Event Attachments\"), \". Learn more about these in \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"enriching-events/attachments/\"\n  }), \"Attachments\"), \".\"), mdx(\"h2\", {\n    \"id\": \"size-limits\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", _extends({\n    parentName: \"h2\"\n  }, {\n    \"href\": \"#size-limits\",\n    \"aria-label\": \"size limits permalink\",\n    \"className\": \"anchor before\"\n  }), mdx(\"svg\", _extends({\n    parentName: \"a\"\n  }, {\n    \"viewBox\": \"0 0 24 24\",\n    \"xmlns\": \"http://www.w3.org/2000/svg\"\n  }), mdx(\"path\", _extends({\n    parentName: \"svg\"\n  }, {\n    \"d\": \"M10.879 6.05L15 1.93A5.001 5.001 0 0 1 22.071 9l-4.121 4.121a1 1 0 0 1-1.414-1.414l4.12-4.121a3 3 0 1 0-4.242-4.243l-4.121 4.121a1 1 0 1 1-1.414-1.414zm2.242 11.9L9 22.07A5 5 0 1 1 1.929 15l4.121-4.121a1 1 0 0 1 1.414 1.414l-4.12 4.121a3 3 0 1 0 4.242 4.243l4.121-4.121a1 1 0 1 1 1.414 1.414zm-8.364-.122l13.071-13.07a1 1 0 0 1 1.415 1.414L6.172 19.242a1 1 0 1 1-1.415-1.414z\",\n    \"fill\": \"currentColor\"\n  })))), \"Size Limits\"), mdx(\"p\", null, \"Event ingestion imposes limits on the size of UE4 crash reports. These limits\\nare subject to future change and defined currently as:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"em\", {\n    parentName: \"li\"\n  }, \"20MB\"), \" for a compressed request\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"em\", {\n    parentName: \"li\"\n  }, \"100MB\"), \" for the full crash report after decompression\")));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#ue4-crash-reporter","title":"UE4 Crash reporter","items":[{"url":"#include-the-ue4-crash-reporter","title":"Include the UE4 Crash Reporter"}]},{"url":"#debug-information","title":"Debug information","items":[{"url":"#include-debug-information","title":"Include Debug Information"}]},{"url":"#add-the-sentry-dsn","title":"Add the Sentry DSN"},{"url":"#upload-debug-symbols-upload-debug-symbols","title":"Upload Debug Symbols {#upload-debug-symbols}"},{"url":"#event-attachments","title":"Event Attachments"},{"url":"#size-limits","title":"Size Limits"}]},"internal":{"type":"Mdx"}}}},"pageContext":{"excerpt":"Installation of a Sentry SDK is not required in order to capture the crashes of your\nUE4 application or game. Sentry supports the  UE4 Crash Reporter . To integrate your UE4 game or application with Sentry, the following steps are required: Include the  UE4 Crash Reporter  to your game or application. Include Debug information in the crash reports. Add the Sentry DSN to the relevant configuration file. Upload your games symbols so Sentry can display function names and line numbers. Optionally enable Event Attachments for your Sentry project. Below we'll break down each step in detail. UE4 Crash reporter The UE4 Crash Reporter is provided out of the box by Epic Games. It is able to collect relevant\ninformation about the crash and send it to a service like Sentry to process. Adding it to your game means that in case a crash happens, the following dialog is displayed\nto the user: Include the UE4 Crash Reporter You can add the  Crash Report Client  to your game in your  Project Settings . The simplest way is to search the option:  Crash Reporter : The option is located under  Project > Packaging  menu, then select  show advanced  followed by\nchecking the box for:  Include Crash Reporter . Debug information To get the most out of Sentry, crash reports are required to include debug information.\nIn order for Sentry to be able to process the crash report and translate\nmemory addresses to meaningful information like function names, module names\nand line numbers, the crash itself must include debug information and also,  symbols need\nto be uploaded to Sentry . Include Debug Information The option is also located under  Project > Packaging  menu, then select  show advanced  followed by\nchecking the box for:  Include Debug Files . Add the Sentry DSN Now that the  Crash Reporter  and  Debug Files  are included, UE4 needs to know where to send the\ncrash. For that, we add the Sentry  DSN  (Data Source Name) to game's configuration file. This will\ninclude which project within Sentry you want to see the crashes arriving in real time.\nThat's accomplished by configuring the  CrashReportClient  in the  DefaultEngine.ini  file. Edit the file: project-root\\Config\\DefaultEngine.ini Add the configuration section: If a  [CrashReportClient]  section already exists, simply changing the value of  DataRouterUrl \nis enough. Upload Debug Symbols {#upload-debug-symbols} To allow Sentry to fully process native crashes and provide you with\nsymbolicated stack traces, you need to upload  Debug Information Files \n(sometimes also referred to as  Debug Symbols  or just  Symbols ). We recommend\nuploading debug information during your build or release process. For all libraries where you'd like to receive symbolication,  you need\nto provide debug information . This includes dependencies and operating system\nlibraries. If you are not sure which files are required, go to  Project\nSettings > Processing Issues , which shows a list of all the necessary files and\ninstructions to retrieve them. In addition to Debug Information Files, Sentry needs  Call Frame Information \n(CFI) to extract accurate stack traces from minidumps of optimized release\nbuilds. CFI is usually part of the executables and not copied to debug symbols.\nUnless you are uploading Breakpad symbols, be sure to also include the binaries\nwhen uploading files to Sentry. For more information on uploading debug information and their supported formats,\nsee  Debug Information Files . Event Attachments The files within the crash uploaded to Sentry can be persisted using  Event Attachments . Learn more about these in  Attachments . Size Limits Event ingestion imposes limits on the size of UE4 crash reports. These limits\nare subject to future change and defined currently as: 20MB  for a compressed request 100MB  for the full crash report after decompression","title":"Unreal Engine 4","redirect_from":["/platforms/unrealengine/","/platforms/native/ue4/"],"platform":{"name":"native","title":"Native"},"guide":{"name":"ue4","title":"Unreal Engine 4"},"id":"7eccde76-d3cd-50f8-936f-cfd4aad8bfde"}},"staticQueryHashes":["1218203755","1222113826","1222113826","1766336459","2158593473","2404336828","2472290386","2764967025","3818502851","4015007367","4192517163","4264099332","518019976"]}