This project is an automated service that periodically monitors updates to Unreal Engine's private GitHub repository, summarizes important changes (such as new features and specification changes) using AI (Google Gemini), and posts them as reports to GitHub Discussions.
|
Note: This image is an example of a report, and the content shown is entirely dummy data. It does not represent actual updates made to Unreal Engine.
- Automatic Update Checks: Uses GitHub Actions to check for the latest commits in the UE repository on a schedule (daily at 23:00 UTC / 8:00 AM JST) or manually.
- AI-Powered Summaries: The Gemini API analyzes commit contents, categorizes them into sections like "New Features" and "Specification Changes," and provides a summary for each.
- Posting to Discussions: The generated report is posted to the repository's GitHub Discussions as "Unreal Engine Daily Report."
- Slack Notifications: The report content can also be sent simultaneously to a specified Slack channel.
- Discord Notifications: The report content can also be sent simultaneously to a specified Discord channel.
You can subscribe to the update reports without setting up this tool yourself. In the repository below, reports generated at a fixed time every day are posted to GitHub Discussions.
Subscribe to the UnrealEngine-UpdateTrackerReport Repository
Note: This report repository is private and requires a GitHub account authorized to access the Unreal Engine source code repository to view.
I hope this tool is helping you with your daily UE catch-up.
This tool is developed and maintained by a single person, covering costs like coffee and API fees out of pocket as a passion project. ☕ If you find this tool useful, please consider supporting its development through GitHub Sponsors. Your support would be a great encouragement and a huge motivation to keep this project going!
💖 Support the developer on GitHub Sponsors
The following documentation is for those who want to fork and customize this tool themselves.
-
Fork this repository: Click the Fork button in the top-right corner to copy this repository to your own GitHub account.
-
Set Up Basic Secrets: First, register the following secrets, which are essential for the tool to operate, in your repository's
Settings>Secrets and variables>Actions.UE_REPO_PAT: A Personal Access Token (PAT) with read access to the private Unreal Engine repository (EpicGames/UnrealEngine).GEMINI_API_KEY: The API key obtained from Google AI Studio.
-
Configure Notification Targets (At least one is required): Next, choose and configure where you want to receive the reports. You can set up GitHub Discussions, Slack, Discord, or any combination of them.
Ideal for team discussions and permanent record-keeping.
- Enable Discussions: In the target repository's
Settings>General>Features, enableDiscussions. - Create a Category: Create a category in the Discussions tab (e.g.,
Announcements). - Add Secrets: Register the following secrets.
DISCUSSION_REPO: The name of the private repository to post reports to (e.g.,MyOrg/MyTeamRepo).DISCUSSION_REPO_PAT: A PAT with permission to write Discussions inDISCUSSION_REPO.
Suitable for real-time notifications and quick information sharing.
- Create an Incoming Webhook: Follow Slack's documentation to issue a webhook URL for your desired channel.
- Add Secrets: Register the following secrets.
SLACK_WEBHOOK_URL: The Incoming Webhook URL issued above.SLACK_CHANNEL: The name of the Slack channel to post to (e.g.,#ue-updates).
Also suitable for real-time notifications.
- Create a Webhook: Follow Discord's documentation to create a webhook URL for your desired channel. In Discord, the URL itself determines the destination channel, so you don't need to specify a channel name separately like with Slack.
- Add a Secret: Register the following secret.
DISCORD_WEBHOOK_URL: The webhook URL created above.
- Enable Discussions: In the target repository's
Recommended Setup:
It is strongly recommended to set DISCUSSION_REPO to a fork of the Unreal Engine source code repository or another private repository where only members with equivalent access rights are present. This ensures compliance with the license agreement and allows for secure information sharing.
-
Automatic Execution: The workflow runs automatically on the configured schedule (defaults to daily at 23:00 UTC / 8:00 AM JST).
-
Manual Execution: You can also run it manually by going to the repository's
Actionstab, selecting theUnreal Engine Update Trackerworkflow, and clicking theRun workflowbutton. Note: Manual execution is restricted to repository administrators.- Report Language: Enter the language for the report (e.g.,
English,Japanese). Default:Japanese. - Commit Scan Limit: Specify the number of recent commits to scan for manual runs (default: last 24 hours).
- Discussion Category: The name of the Discussion category to post the report to. Default:
Daily Reports. - Gemini Model: The name of the AI model to use for analysis. Default:
gemini-2.5-pro. - Slack Webhook URL: A temporary Slack Webhook URL to use, overriding the secret.
- Slack Channel: A temporary Slack channel name to use, overriding the secret.
- Discord Webhook URL: A temporary Discord Webhook URL to use, overriding the secret.
- Report Language: Enter the language for the report (e.g.,
-
Changing Default Values: You can change the default values for scheduled and manual runs by setting repository Variables. Go to
Settings>Secrets and variables>Actions, and from theVariablestab, set the following:REPORT_LANGUAGE: The default report language (e.g.,English).DISCUSSION_CATEGORY: The default category for posts (e.g.,Announcements).GEMINI_MODEL: The default AI model to use (e.g.,gemini-2.5-pro).UE_BRANCH: The name of the branch to monitor (e.g.,release). Defaults toue5-main.
The output format, including the report's categories, summary style, and overall structure, is determined by the instructions (prompt) given to the AI.
If you want to change the format, such as requesting more detailed reports or emphasizing specific information, you can directly edit the prompts/report_prompt.md file at the root of the repository. By modifying this file, you can customize the AI's behavior without touching any Python code.
Please read the following carefully before using this tool.
-
User Responsibility: While this tool is carefully designed to comply with the Unreal Engine license agreement, the ultimate operational responsibility lies with the user. Specifically, you must always specify a private repository with restricted access as the destination for reports (
DISCUSSION_REPO). Posting to a public repository could constitute a license violation. -
API Keys and Billing:
- This tool uses the Google Gemini API, which may incur costs based on usage.
- If you fork and use this repository, the owner of the forked repository assumes all billing responsibility for their API key.
- To ensure strict compliance with Unreal Engine's terms, it is strongly recommended to use an API key from a license plan where submitted data is not used for AI training.
-
Safety by Design:
- To minimize the risk of license violations, this tool does not send any Unreal Engine source code or code diffs when providing information to the AI. The analysis is based solely on commit messages and changed file paths.
-
Execution Notes:
- This script actually posts to GitHub Discussions according to its configuration. Please be careful during test runs.
- Various APIs have usage limits (rate limits).
