From 71e9d031cad86aa60a77dedd366f17504f0f113e Mon Sep 17 00:00:00 2001 From: ZXMushroom63 <116805577+ZXMushroom63@users.noreply.github.com> Date: Fri, 14 Nov 2025 22:18:52 +0800 Subject: [PATCH] Add Unreal Engine 4 Setup Guide (#618) --- app/views/docs/index.html.erb | 6 +- docs/editors/unreal-engine-4.md | 59 ++++++++++++++++++ .../editor-icons/unreal-engine-4-128.png | Bin 0 -> 31641 bytes 3 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 docs/editors/unreal-engine-4.md create mode 100644 public/images/editor-icons/unreal-engine-4-128.png diff --git a/app/views/docs/index.html.erb b/app/views/docs/index.html.erb index e0a1a1b..00210a6 100644 --- a/app/views/docs/index.html.erb +++ b/app/views/docs/index.html.erb @@ -139,10 +139,10 @@
- View all 77 supported editors + View all 80 supported editors
<% - # All 77 editors - alphabetically sorted + # All 80 editors - alphabetically sorted all_editors = [ ['Android Studio', 'android-studio'], ['AppCode', 'appcode'], ['Aptana', 'aptana'], ['Arduino IDE', 'arduino-ide'], ['Azure Data Studio', 'azure-data-studio'], ['Blender', 'blender'], ['Brackets', 'brackets'], ['Brave', 'brave'], @@ -161,7 +161,7 @@ ['Safari', 'safari'], ['SiYuan', 'siyuan'], ['Sketch', 'sketch'], ['SlickEdit', 'slickedit'], ['SQL Server Management Studio', 'sql-server-management-studio'], ['Sublime Text', 'sublime-text'], ['Terminal', 'terminal'], ['TeXstudio', 'texstudio'], ['TextMate', 'textmate'], ['Trae', 'trae'], - ['Unity', 'unity'], ['Vim', 'vim'], ['Visual Studio', 'visual-studio'], ['VS Code', 'vs-code'], + ['Unity', 'unity'], ['Unreal Engine 4', 'unreal-engine-4'], ['Vim', 'vim'], ['Visual Studio', 'visual-studio'], ['VS Code', 'vs-code'], ['WebStorm', 'webstorm'], ['Windsurf', 'windsurf'], ['Wing', 'wing'], ['Word', 'word'], ['Xcode', 'xcode'], ['Zed', 'zed'], ['Swift Playgrounds', 'swift-playgrounds'] ].sort_by { |editor| editor[0] } %> diff --git a/docs/editors/unreal-engine-4.md b/docs/editors/unreal-engine-4.md new file mode 100644 index 0000000..04ab474 --- /dev/null +++ b/docs/editors/unreal-engine-4.md @@ -0,0 +1,59 @@ +# Set Up Hackatime with Unreal Engine 4.27 + +![Unreal Engine 4](/images/editor-icons/unreal-engine-4-128.png) + +This guide will walk you through setting up **Hackatime** to automatically track your game development time in **Unreal Engine 4.27**. This currently only supports Windows systems. + +--- + +## Step 1: Log In to Your Hackatime Account + +First, make sure you have a **Hackatime account** and are logged in. If you don't have an account, you can create one at [hackatime.hackclub.com](https://hackatime.hackclub.com). + +## Step 2: Download UE4 WakatimeIntegration Plugin + +Visit the [GitHub page](https://github.com/ZXMushroom63/WakatimeIntegration) and download the [latest release](https://github.com/ZXMushroom63/WakatimeIntegration/releases/latest). The file name should be something like `WakatimeIntegration.zip` + +## Step 3: Install UE4 WakatimeIntegration Plugin + +1. First, extract `WakatimeIntegration.zip` +2. Inside should be a single folder called `WakatimeIntegration` containing a `.uplugin` file among others. +3. Copy or move this folder to your Unreal Engine 4.27's plugins folder. The default location is `C:\Program Files\Epic Games\UE_4.27\Engine\Plugins\` + +## Step 4: Configure API Credentials + +1. Startup the editor and load into a project +2. Open the Plugins window (`Edit->Plugins...`) and enable `WakatimeIntegration`. +3. Restart the editor when prompted +4. In editor settings (`Edit->Editor Settings...`) find the WakatimeIntegration category (should be under `Plugins` category) +5. Set the Bearer Token to the API Key found at `https://hackatime.hackclub.com/my/wakatime_setup` +6. Set the Endpoint to `https://hackatime.hackclub.com/api/hackatime/v1` +7. Set the interval to `30`. +8. You may need to manually enable the plugin for each project you wish to track. + +## Troubleshooting +- **Plugin not working?** + - First thing to try is restarting your editor to ensure the plugin loads correctly + - If time isn't being checked, check `Output Log` in the engine and look for errors/logs from `Wakatime Integration` + - `Failed to establish connection to Wakatime endpoint.`: Make sure the endpoint URL is correct and that your internet connection is working + - `Heartbeat failed due to invalid API token (401)`: Make sure the token is correct, it is easy to accidentally skip characters when pasting. + - `Heartbeat accepted with code`: Everything should be working smoothly + - `Heartbeat failed. Code: *. Response: *`: An unknown error. Look at the logs for more information, or request help in the [Hack Club Slack](https://hackclub.slack.com). +- **Plugin/editor crashing?** + - This plugin is built for Unreal Engine 4.27, so your editor version may be too old for the prebuilt binaries. + - If you really need this version, you can try building the plugin from [source](https://github.com/ZXMushroom63/WakatimeIntegration) + +## Building for other platforms / versions of UE4 +1. Clone or download the [GitHub repo](https://github.com/ZXMushroom63/WakatimeIntegration) +2. In the editor, create a new blank C++ project with minimal settings, targetting Desktop. This can be found under the games category. + - This may take extra platform dependent setup +3. Inside your project folder, create a `Plugins` folder. + - `Documents\Unreal Projects\MyProject\` on Windows +4. Move `WakatimeIntegration` (github repo containing `Source` and `.uplugin`) into the new `Plugins` folder. +5. In editor, open the Plugins tab and try to enable `WakatimeIntegration` +6. You should be promped to rebuild the plugin, select 'yes' and wait for the process to complete. +7. Once the build is done, open the plugins tab, search for `WakatimeIntegration`, and select 'package' +8. Package `WakatimeIntegration` to any folder, and wait for the packaging to finish. +9. Resume with `Step 2` in `Part 3: Install UE4 WakatimeIntegration Plugin` + +Once the plugin is successfully installed, your Unreal Engine 4 projects should start to appear on your [Hackatime dashboard](https://hackatime.hackclub.com)! \ No newline at end of file diff --git a/public/images/editor-icons/unreal-engine-4-128.png b/public/images/editor-icons/unreal-engine-4-128.png new file mode 100644 index 0000000000000000000000000000000000000000..dc0e32864dd4dd3bb4afa4588e675106f797e617 GIT binary patch literal 31641 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%0DU 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 literal 0 HcmV?d00001