Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unity Easy Build Automator

Unity Version Platform License

A comprehensive, automated build and version management solution designed for the Unity Editor. Unity Easy Build Automator optimizes the release pipeline by automating build target selection, semantic versioning increments, changelog generation, and build history logging.


Key Features

  • Bypass Default Build Prompts: Eliminates the need for manual target selection, file naming, and directory creation, enabling single-click build packaging.
  • Semantic Versioning (SemVer): Evaluates the current PlayerSettings.bundleVersion and systematically calculates the subsequent release version (Major, Minor, or Patch).
  • Structured Directory Naming: Automatically generates logically organized build directories using the convention: [TargetDirectory]/[AppName]_v[Version]_[Platform]/[AppName]_v[Version]_[Platform].exe
  • Automated Changelogs: Compiles and outputs a formatted Changelog.md file adjacent to the executable, detailing the date, platform, and patch notes.
  • Internal Build History (JSON): Records comprehensive build metadata (timestamp, duration, size, version, status, notes) within a local user configuration file (UserSettings/AutoBuildVersionLogger/InternalBuildHistory.json).
  • Optional Build Button Interception: Replaces the default Unity Build button behavior to launch the automator. This can be reverted to the standard build flow via a single configuration toggle.
  • Reveal in Explorer: Automatically navigates to the output directory in File Explorer or Finder upon successful build completion.

Interface Preview & Architecture

The application can be accessed via the Unity top menu item: Tools > Auto Build Manager.

Developer Enters Changelog Notes
         │
         ▼
Clicks [Start Build] Button
         │
 ┌───────┴─────────────────────────────────────────┐
 │ Automatic Background Processes:                 │
 │                                                 │
 │  1. Increments Version (e.g. v1.0.1 -> v1.0.2)  │
 │  2. Creates Output Folder with Custom Name      │
 │  3. Executes Unity Build Pipeline               │
 │  4. Updates Internal JSON Build History         │
 │  5. Writes Changelog.md in Output Folder        │
 └───────┬─────────────────────────────────────────┘
         │
         ▼
Target Folder is Opened in Explorer (Reveal)

Code Architecture

The solution is implemented using modular C# scripting specifically utilizing UnityEditor APIs:

Script Purpose
AutoBuildWindow.cs Main Editor Window UI. Manages user input, destination path selection, semantic versioning configurations, and build execution.
VersionController.cs Parses semantic versions and dynamically calculates subsequent Major, Minor, or Patch increments.
BuildPipelineManager.cs Interfaces with BuildPipeline.BuildPlayer(). Configures scenes, active platforms, and absolute build paths.
ChangelogLogger.cs Compiles public markdown changelogs and appends detailed build analytics to the internal history file.

Logs & Data Structure

1. Internal History Log (InternalBuildHistory.json)

Located within the project at UserSettings/AutoBuildVersionLogger/. This is a per-user configuration file that maintains a persistent record of all historical builds:

{
  "builds": [
    {
      "timestamp": "2026-06-07T17:05:00",
      "version": "v1.2.4",
      "platform": "StandaloneWindows64",
      "duration_seconds": 145,
      "build_size_mb": 450.2,
      "changelog": "- Fixed multiplayer synchronization issues.\n- Added new visual effects to the main lobby.",
      "status": "Success"
    }
  ]
}

2. Output Changelog (Changelog.md)

Generated in the executable directory:

## Version: v1.2.4
**Date:** 07 June 2026
**Platform:** StandaloneWindows64

### Changes & New Features:
- Fixed multiplayer synchronization issues.
- Added new visual effects to the main lobby.

Getting Started

Installation

  1. Clone or download the repository to your local environment.
  2. Move the Assets/AutoBuild_Version_Logger directory into your Unity project's Assets folder.
  3. The installation is complete. The application can now be accessed via the Tools > Auto Build Manager menu.

Execution Guide

  1. Launch the Auto Build Manager interface.
  2. Specify the desired Version Increment type (Patch, Minor, or Major).
  3. Define the destination output directory (e.g., C:/Builds/).
  4. Enter the applicable modifications in the Changelog Notes field.
  5. Execute the build by selecting Start Build.

License

This project is distributed under the MIT License. Please refer to the LICENSE file for further details.

About

A custom Unity Editor tool that automates the build process, seamlessly manages version increments, and generates structured changelogs.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages