Scooter Utilities starline

logo

ScottKirvan/ScooterUtils

A collection of editor tools for Unreal Engine

contributors last update forks stars open issues license

View Demo · User Documentation · Report Bug · Request Feature

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.

Think 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.

If you’re looking for information on how to use the plugin inside Unreal, please check out the User Documentation. This document is for people using the source code in the GitHub repository.

Branches

master
     └─── main development branch - supports the latest version of Unreal
All-Versions-Prior-to-5.1
     └─── These are the UE4.x versions. Tested back to 4.25, may work in earlier versions.
UE-5.1-to-5.2
     └─── tested and working in UE-5.1-to-5.2
UE-5.3-to-5.4
     └─── tested and working in UE-5.3-to-5.4
release-please--branches--master
     └─── used by Please-Release GitHub action.

New features are added to the master branch. Older branches may not have the same feature support.

Repo Layout

ScooterUtils
├───.github
│   ├───release-please
│   └───workflows
├───Config
├───Resources
├───Source
│   ├───ScooterUtils
│   │  ├────Private
│   │  └────Public
│   └───ScooterUtilsBPLibrary
│      ├────Private
│      └────Public
├───_layouts
├───assets
│   ├───css
│   └───media
└───notes

The _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.

The css file creates a page that is styled similar to GitHub’s Dark High Contrast theme.

The files in the .github folder implement and customizes a github action that runs Release-Please, which helps with releases, semantic versioning, and updating the CHANGELOG. 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:.

Release-Please creates a pull request in this repo. Merging that back into master will create a new release, and tag it in GitHub.

The 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.

Table of Contents

Installation

This is kind of standard practice for GitHub Unreal plugins*; it goes like this:

  1. Create a new Unreal project.
  2. Create a Plugins folder in your project directory.
  3. Clone the GitHub repository (or grab and unzip the project) into your Plugins folder.
  4. Launch Unreal; You should be prompted to build the plugin.
  5. Optional: Use or convert your unreal project to a C++ project so that you can edit and build the code outside of Unreal.

[!NOTE] 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).

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. (WIP)

Features / Usage

For documentation on what the plugin does, installing from fab, enabling, and using it, see the User Documentation.

Developer Notes

ScooterUtils 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).

FScooterUtilsModule 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.

ScooterUtils preferences (engine install: [UE_PATH]/Engine/Plugins/Marketplace) are written to disk at:

c:\Users\<username>\AppData\Local\UnrealEngine\<EngineVersion>\Saved\Config\WindowsEditor\EditorSettings.ini

The ScooterUtils section of EngineSettings.ini will look something like:

[/Script/ScooterUtils.ScooterUtilsSettings]
bOverrideUEApplicationScale=True
ApplicationScale=0.800000
MaxFPS=200
ShowViewportFPS=False

Supported Platforms

Supported Unreal Engine versions: 4.25-5.5*

For the most part, it should work on other platforms, and be easily adaptable to any earlier or later versions.

</sup> *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.

Dependencies

The source requires Visual Studio (I’ve used the free 2019 & 2022 community version) and either an Unreal C++ code (rather than blueprint) project or the full Unreal Engine 4 source code from GitHub.

Building it inside a project is dead simple. Clone the repository into the Plugins directory of your Unreal C++ based project. Go to File, and select Update Visual Studio Project. From there, the plugin should be buildable, and once compiled, can be left in Plugins directory for the project you’re working on, or copied into your Engine’s main Plugins folder so it’s available to all your future editing sessions.

If you are new to programming in UE, please see the official Programming Guide.

Contributions

Contact

References / Inspirations / Credits


Copyright (c) (2020-2025): Scott Kirvan - All rights reserved
ScooterUtils is licensed under the BSD 3-Clause License.

Project Link: ScooterUtils
CHANGELOG
TODO