{"id":46236016,"url":"https://github.com/scottkirvan/scooterutils","last_synced_at":"2026-03-03T19:02:41.921Z","repository":{"id":56402779,"uuid":"311531035","full_name":"ScottKirvan/ScooterUtils","owner":"ScottKirvan","description":"Scooter Utilities is an Unreal Engine editor plugin that bundles essential quality-of-life tools for artists and developers. Quickly navigate to disk files, restart/reload your projects with a single click, and keep important settings persistent between editor sessions.","archived":false,"fork":false,"pushed_at":"2025-11-18T17:12:31.000Z","size":7944,"stargazers_count":34,"open_issues_count":16,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-18T19:09:47.260Z","etag":null,"topics":["cpp","editor-plugins","plugin","scooter-utilities","ue4","ue4-plugin","ue5","unreal","unreal-engine","unreal-engine-4","unreal-engine-5","unreal-engine-plugin","unreal-utilities"],"latest_commit_sha":null,"homepage":"http://www.scottkirvan.com/ScooterUtils/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ScottKirvan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"ScottKirvan","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2020-11-10T03:10:38.000Z","updated_at":"2025-11-18T17:12:25.000Z","dependencies_parsed_at":"2023-01-24T13:15:42.820Z","dependency_job_id":"5d5ad5de-caee-4a23-943b-5f7f75092364","html_url":"https://github.com/ScottKirvan/ScooterUtils","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/ScottKirvan/ScooterUtils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScottKirvan%2FScooterUtils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScottKirvan%2FScooterUtils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScottKirvan%2FScooterUtils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScottKirvan%2FScooterUtils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ScottKirvan","download_url":"https://codeload.github.com/ScottKirvan/ScooterUtils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScottKirvan%2FScooterUtils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30056056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T18:21:05.932Z","status":"ssl_error","status_checked_at":"2026-03-03T18:20:59.341Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","editor-plugins","plugin","scooter-utilities","ue4","ue4-plugin","ue5","unreal","unreal-engine","unreal-engine-4","unreal-engine-5","unreal-engine-plugin","unreal-utilities"],"created_at":"2026-03-03T19:02:38.397Z","updated_at":"2026-03-03T19:02:41.913Z","avatar_url":"https://github.com/ScottKirvan.png","language":"C++","readme":"# Scooter Utilities [![starline](https://starlines.qoo.monster/assets/ScottKirvan/ScooterUtils)](https://github.com/qoomon/starline)\n\u003cdiv align=\"center\"\u003e\n\n  \u003cimg src=\"https://raw.githubusercontent.com/ScottKirvan/ScooterUtils/refs/heads/master/assets/media/logo2.png\" alt=\"logo\" width=\"200\" height=\"auto\" /\u003e\n    \u003ch1\u003e\u003ca href=\"https://github.com/ScottKirvan/ScooterUtils\"\u003eScottKirvan/ScooterUtils\u003c/a\u003e\u003c/h1\u003e\n  \u003ch3\u003eA collection of editor tools for Unreal Engine\u003c/h3\u003e\n  \n  \n\u003c!-- Badges --\u003e\n\u003cp\u003e\n  \u003ca href=\"https://github.com/ScottKirvan/ScooterUtils/graphs/contributors\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/contributors/ScottKirvan/ScooterUtils\" alt=\"contributors\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/ScottKirvan/ScooterUtils\" alt=\"last update\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ScottKirvan/ScooterUtils/network/members\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/ScottKirvan/ScooterUtils\" alt=\"forks\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ScottKirvan/ScooterUtils/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/ScottKirvan/ScooterUtils\" alt=\"stars\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ScottKirvan/ScooterUtils/issues/\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/ScottKirvan/ScooterUtils\" alt=\"open issues\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ScottKirvan/ScooterUtils/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/ScottKirvan/ScooterUtils.svg\" alt=\"license\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://discord.gg/gQH4mXWQRT\"\u003e\n    \u003c!--\u003cimg src=\"https://img.shields.io/discord/704680098577514527?style=flat-square\u0026label=%F0%9F%92%AC%20discord\u0026color=00ACD7\"\u003e--\u003e\n    \u003cimg src=\"https://img.shields.io/discord/1052011377415438346?style=flat-square\u0026label=discord\u0026color=00ACD7\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n   \n\u003ch4\u003e\n    \u003ca href=\"https://tinyurl.com/3vf7whyd\"\u003eView Demo\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/ScottKirvan/ScooterUtils/blob/master/notes/USER_README.md\"\u003eUser Documentation\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/ScottKirvan/ScooterUtils/issues/new?labels=bug\u0026title=%5BBUG%5D%20\"\u003eReport Bug\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/ScottKirvan/ScooterUtils/issues/new?labels=enhancement\u0026title=%5BFEATURE+REQUEST%5D%20\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/h4\u003e\n\u003c/div\u003e\n\n**Scooter Utilities** is an Unreal Engine editor plugin that bundles essential quality-of-life tools for artists and developers. Quickly navigate to disk files, restart/reload your projects with a single click, and keep important settings persistent between editor sessions.\n\nThink of **ScooterUtils** as a Swiss Army Knife of tools that make Unreal Engine a bit quicker to use, especially if you're creating and maintaining several projects. If you've got something you're repeatedly turning on or resetting every time you open your projects, that might be a good candidate for an addition to **Scooter Utilities**, so feel free to [make a suggestion](https://github.com/ScottKirvan/ScooterUtils/issues/new?labels=enhancement\u0026title=%5BFEATURE+REQUEST%5D).\n\nIf you're looking for information on how to *use* the plugin inside Unreal, please check out the [User Documentation](notes/USER_README.md). This document is for people using the source code in the [GitHub repository](https://github.com/ScottKirvan/ScooterUtils).\n\nBranches\n--------\n\n```\nmaster\n     └─── main development branch - supports the latest version of Unreal\nAll-Versions-Prior-to-5.1\n     └─── These are the UE4.x versions. Tested back to 4.25, may work in earlier versions.\nUE-5.1-to-5.2\n     └─── tested and working in UE-5.1-to-5.2\nUE-5.3-to-5.4\n     └─── tested and working in UE-5.3-to-5.4\nrelease-please--branches--master\n     └─── used by Please-Release GitHub action.\n```\nNew features are added to the `master` branch.  Older branches may not have the same feature support.\n\nRepo Layout\n-----------\n```\nScooterUtils\n├───.github\n│   ├───release-please\n│   └───workflows\n├───Config\n├───Resources\n├───Source\n│   ├───ScooterUtils\n│   │  ├────Private\n│   │  └────Public\n│   └───ScooterUtilsBPLibrary\n│      ├────Private\n│      └────Public\n├───_layouts\n├───assets\n│   ├───css\n│   └───media\n└───notes\n```\nThe `_layouts` and `assets/css` folders help support the look of the repo when rended to GitHub Pages (Deployment Workflow).  You can see an example of this repo processed using Jekyll and published at [ScottKirvan.com](https://www.scottkirvan.com/ScooterUtils/). \n\nThe css file creates a page that is styled similar to GitHub's [Dark High Contrast](https://github.blog/changelog/2021-08-25-dark-high-contrast-theme-ga/) theme.\n\nThe files in the `.github` folder implement and customizes a github action that runs [Release-Please](https://github.com/googleapis/release-please), which helps with releases, semantic versioning, and updating the [CHANGELOG](notes/CHANGELOG.md).  Release-Please uses the following: `fix:` triggers a patch release, `feat:` triggers a minor release, and `feat!:`, or `fix!:`, `refactor!:`, etc., are all considered breakers and trigger a new major version.  Some common commit prefixes are: `build:`, `chore:`, `ci:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`.\n\nRelease-Please creates a pull request in this repo.  Merging that back into `master` will create a new release, and tag it in GitHub.  \n\nThe two modules that make up the plugin are in the `Source` folder.  There's *two* modules because one needs to be editor-only, and the other is a runtime (in-game) module.  `ScooterUtils` is the editor-only module, and `ScooterUtilsBPLibrary` is the runtime module. The runtime module only contains Blueprint nodes.\n\nTable of Contents\n-----------------\n- [Branches](#branches)\n- [Repo Layout](#repo-layout)\n- [Installation](#installation)\n- [Features / Usage](#features--usage)\n- [Contributions / Contact](#contributions--contact)\n- [References / Inspirations / Credits](#references--inspirations--credits)\n\nInstallation\n------------\nThis is kind of standard practice for GitHub Unreal plugins\u003csup\u003e*\u003c/sup\u003e; it goes\nlike this:\n\n1. Create a new Unreal project.\n1. Create a ```Plugins``` folder in your project directory.\n1. Clone the GitHub repository (or grab and unzip the project) into your\n```Plugins``` folder.\n1. Launch Unreal; You should be prompted to build the plugin.\n2. Optional:  Use or convert your unreal project to a C++ project so\nthat you can edit and build the code outside of Unreal.\n\n\u003e [!NOTE]\n\u003e As of UE 5.5.0, the automatic building of plugins within blueprint-only projects is no longer working - You need to be using a C++ based Unreal project for the source to build.  Once it's built, you can copy/paste the plugin to other projects (or to your engine's plugin folder (**[UE_PATH]/Engine/Plugins/Marketplace**) to install it as an engine plugin).\n\u003e \n\u003e Working with c++ projects may involve additional dependencies, like installing and configuring an IDE, which may be more than some users are willing to do, and more than I'm willing to document and support, which is ~~why I've made the precompiled version(s) of the plugin available on the [Fab Marketplace](http://fab.com).~~ (WIP)\n\n\nFeatures / Usage\n-----\nFor documentation on what the plugin does, installing from fab, enabling, and using it, see the [User Documentation](notes/USER_README.md).\n\nDeveloper Notes\n--------\nScooterUtils is implemented in a single module: \"ScooterUtils.\" It's an editor-only plugin (no runtime functionality), and uses an OnEndFrame callback to execute certain functionality when we're confident the engine (and our module) is fully loaded (PostEngineInit).\n\nFScooterUtilsModule is the main module implementation, and that's where all the functionality of ScooterUtilsMenu (for restart, and open explorer) happen, and ScooterUtilsSettings (for all the Persistent Editor Preferences settings) are handled.\n\nScooterUtils preferences (engine install: `[UE_PATH]/Engine/Plugins/Marketplace`) are written to disk at:\n```\nc:\\Users\\\u003cusername\u003e\\AppData\\Local\\UnrealEngine\\\u003cEngineVersion\u003e\\Saved\\Config\\WindowsEditor\\EditorSettings.ini\n```\nThe ScooterUtils section of EngineSettings.ini will look something like:\n```ini\n[/Script/ScooterUtils.ScooterUtilsSettings]\nbOverrideUEApplicationScale=True\nApplicationScale=0.800000\nMaxFPS=200\nShowViewportFPS=False\n```\n## Supported Platforms\n\nSupported Unreal Engine versions: **4.25-5.5**\u003csup\u003e*\u003c/sup\u003e\n\nFor the most part, it should work on other platforms, and be easily adaptable to any earlier or later versions.\n\n\u003csup\u003e*\u003c/sup\u003e *If you are building this repo/plugin from source, with an engine version prior to UE 5.5, please make sure you clone/download the correct [branch](#branches).*\n\n## Dependencies\n\nThe source requires Visual Studio (I've used the free 2019 \u0026 2022 community version)\nand either an Unreal C++ code (rather than blueprint) project or the full\nUnreal Engine 4 source code from GitHub.\n\nBuilding it inside a project is dead simple.  Clone the repository\ninto the *Plugins* directory of your Unreal C++ based project. Go to\n**File**, and select **Update Visual Studio Project**.  From there,\nthe plugin should be buildable, and once compiled, can be left in *Plugins* directory for the project you're working on, or copied into\nyour Engine's main *Plugins* folder so it's available to all your future\nediting sessions.  \n\nIf you are new to programming in UE,\nplease see the official [Programming Guide](https://docs.unrealengine.com/en-US/Programming/Plugins/index.html). \n\nContributions\n-----------------------\n- [report any issues](https://github.com/ScottKirvan/ScooterUtils/issues/new?labels=bug\u0026title=%5BBUG%5D%20).\n- [request new features](https://github.com/ScottKirvan/ScooterUtils/issues/new?labels=enhancement\u0026title=%5BFEATURE+REQUEST%5D%20).\n- Developers:  [grab a fork](https://github.com/ScottKirvan/ScooterUtils/fork), hack away, and toss in a [pull request](https://github.com/ScottKirvan/ScooterUtils/pulls) with your changes.\n- To show your support for my work, Throw me a bone!  please TODO TODO [star]() this repo, and rate/review the plugin on [fab](http://fab.com), and/or [donate]() to my GitHub projects.\n\nContact\n-------\n- Feel free to reach out to me on the [Unreal Slackers](https://discord.gg/unreal-slackers) discord. I'm @Fragmanget_. There is a ton of other Unreal programmers up there, so if I'm not around to help, someone else may be able to get you going.\n- You can also reach me on my personal [Discord Server](https://discord.gg/TSKHvVFYxB) (@cptvideo),\nvia [LinkedIn](https://www.linkedin.com/in/scottkirvan/), or [email](mailto://ScooterUtils@skvfx.com).\n\n\nReferences / Inspirations / Credits\n-----------------------------------\n- \u003cstrike\u003eTo learn c++ coding plugins in Unreal, sign into the Unreal Engine [Learning \u0026 Support](https://www.unrealengine.com/en-US/learn) area and take the *Best Practices for Creating and Using Plugins* course - it's great!\u003c/strike\u003e *Anyone know where this went? It's out of date, but it still had a lot of great info.*\n- Another resource for creating Editor (not runtime) specific tools is [this tutorial](https://lxjk.github.io/2019/10/01/How-to-Make-Tools-in-U-E.html) by Xun (Eric) Zhang.\n- This blog post on [custom project settings](http://www.mov-eax-rgb.net/blog/custom-settings-object/) is short, but it saved me when I got stuck.\n- Huge thanks to the Unreal Team!  I had only been learning Unreal for a little over a month when I first wrote this.  I am so totally blown away.  Epic's training material is outstanding - The sheer amount of material available, directly from Unreal, and being produced by end users, artists, and programmers is unlike anything I've ever experienced in the industry.\n- Thanks, also, to [Caio Liberali](https://github.com/caioliberali) for the original Unreal Engine [Pull Request](https://github.com/EpicGames/UnrealEngine/pull/7436) that inspired this project.  \n\n---\n**Copyright (c) (2020-2025):** [Scott Kirvan](https://github.com/ScottKirvan)  - All rights reserved   \n*ScooterUtils is licensed under the [BSD 3-Clause License](../LICENSE.md).*  \n\nProject Link:  [ScooterUtils](https://github.com/ScottKirvan/ScooterUtils)  \n[CHANGELOG](notes/CHANGELOG.md)  \n[TODO](notes/TODO.md)\n","funding_links":["https://github.com/sponsors/ScottKirvan"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottkirvan%2Fscooterutils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscottkirvan%2Fscooterutils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottkirvan%2Fscooterutils/lists"}