Bug Tracker Plugin Technical Documentation

Introduction

Bug Tracker is a plugin that integrates with the Unreal Engine 4 which is built and based on the Trello API, it takes advantage of an large amount of the Trello REST API offering developers the ability to manage and track bugs in-editor that have been reported in-game by players with high detail and screenshots, because of its flexibility and dynamic UI its can be easily customized to match your project UI design and needs.

Bug Tracker Features:

  • Automated setup be up and running in less than 5 minutes..
  • Direct integration with the editors toolbar for easy access.
  • Browsing reports with a selection of filters.
  • Bug markers – Spawn markers showing bug locations displayed as actors on your levels.
  • “Jump to” button. One click to jump to location associated with the report.
  • Editing report details.
  • Assigning team members to reports.
  • Add checklists to report for team members to follow up on.
  • In-Game bug reporting for players.
  • Automated capturing of screenshots when submitting reports
  • Automated capturing level and camera position.
  • Automatic filling fields in.
  • Dynamically built UI fields.
  • Customizable UI using UMG and Blutility.
  • Viewing and editing report details in-Editor/Game or via the Trello website.

Trello API Features:

  • User Tokens
  • Boards
  • Cards
  • Comment Cards
  • Lists
  • Labels
  • Stickers
  • Attachments (JPG)
  • Checklists
  • Checkitems
  • Members
  • Members Notifications
  • Custom Fields (Limited)

Code Modules:

  • BugTrackerDeveloper (Developer)
  • BugTrackerEditor (Editor)

Enabling Plugin

In order to enable the plugin go to Edit -> Plugins, select BugTracker category and check Enabled for BugTracker.

Opening Tool Window

Bug Tracker is available as a tab for Unreal Editor. The tab can be accessed from the Toolbar or Window menu.

Project Settings

Bug Tracker settings can be edited in the Project Settings tab under the Plugins section.  The settings are stored in /Config/DefaultGame.ini file.

Some of these settings you can leave blank if you plan to run the auto setup video on the auto setup can be found at the bottom of the page.

  • Bug Manager Reference – This should be set to EW_BugManager which is the default bug manager editor widget, this is tired to the Bug Tracker Button on the toolbar.
  • Bug Manager Window Size – This is defaulted to 1920×1080 the bug manager UI can be set to a higher Resolution or lower depending on your needs.
  • Default World List – The list defined here will capture screenshots from players when they submit reports.
  • Date Format – The date format that all reports will use.
  • Id Board – the board Id of your Trello board use for bug reports.
  • Use Comment Cards – whether or not to use Trello comment cards or to place comments in the description field of the card.
  • Add Cards to Top Position – Default is true meaning it will always place the newest cards at the top of the Trello board lists.
  • Developer Name – Enable this if you want to use a custom name on reports or disable it if you want to use your own Trello user name, this is handy if your team is all using the same Trello account.
  • Developer Key – Trello uses this to identify the application making the request.
  • Assess Token –  Trello gives the third-party developer a token that can be used to make requests to Trello on your behalf.
  • Player Developer Key/Assess Token – you can set this to the same as above or create a new account just for players to report on for easier tracking.
  • Patch Notes Id Board – the board Id of your Trello board use for patch notes.

Interface

The Bug Tracker Editor user interface and Bug Report User Runtime Interface

These Interfaces can be fully customized to your own liking the following UI design is based on our own game Remnants.

  • Selected Report Board – This list is filled with boards gathered from the users token from Trello.
  • Description – Detailed explanation of the issue.
  • Steps to Reproduce – Numbered list of steps to reproduce the issue.
  • Reported On – Date the issue was reported.
  • Last Updated On – Last date the issue was updated on.
  • By – Last user to update the report.
  • Due On – The date the report is due on.
  • Add/Remove Members – Assign team members to reports, User assigned reports can be filtered by using the 1st check box in the Reported bug Selection.
  • Location Pin – This will move the view port camera to the reported issue location. 
  • Stickers Top Right – Stickers can be added/Remove from selected cards to make them standout.
  • Update – Update the selected report.
  • Spawn Bugs – Spawn bug markers in the editor displaying bug locations.
  • Clear Bug Markers – Removed spawned bug markers.
  • Archive – Archive the selected report on Trello.
  • Deleted – Removed the selected report from Trello completely.
  • Add – Add comments.
  • Loaded – Load/Refresh Bug Reports from Trello.
  • Reported Bugs – this list is gathered from your Trello board each card on your board is a bug report.
  • Red Cross – Clear Report Details.

The other fields are self explanatory.

The Runtime bug reporter has some fields stripped but also offers other runtime features.

  • Category – If a issue is reported under the World/Objects Category the bug tracker will auto capture a screenshot of the players screen and auto submit it along with the report.
  • Mark As Resolved – Only the reporting player of the report can change this, it changes the report status to Resolved so it can be checked and marked as fixed using the Bug Manager.
  • Update – Players can Add new comments to old reports.
  • Create – Players can report issue by creating new reports.
  • Find Near By – Players can locate nearby issues reported by other players.

Patch Notes

The bug tracker also includes a demo for Patch Notes for both the editor and runtime.

UMG Setup

The plugin comes with a number of widgets these can be found in the plugins content folder under UI.

The two highlighted widgets above EW_BugManager is the editor bug manager which is the parent widget of both the EW_BugEditor and EW_PatchNoteEditor.

UI_BugReporter this widget is intended to be added or call in-game from your UI or from a creating a new widget and adding it to view port.

EW_BugTrackerSetup run this widget from the editor as show in the video below to automate the setup process.

Download to example project can be found here