Skip to content

An Unreal Engine plugin which contains miscellaneous utilities for Unreal Engine

License

Notifications You must be signed in to change notification settings

ScottKirvan/ScooterUtils

Repository files navigation

logo

A collection of editor tools for Unreal Engine

contributors last update forks stars open issues license

ScooterUtils is an Unreal Engine editor plugin which contains miscellaneous artist/developer utilities, allowing you to quickly navigate to disk files, restart the system, and to help keep some setting persistent between restarts in the editor.

If common tasks can be automated or streamlined, they may end up in ScooterUtils. Generally, the plugin includes things 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 off or resetting every time you open your projects, that might be a good candidate for an addition here, so feel free to make a suggestion.

This plugin currently contains:

  • Menus:
    • Restart Editor - From the Main Menu bar, choose File > Restart Editor...
    • Show Project in Explorer - From the Main Menu bar, choose File > Show Project in Explorer
  • Persistent Settings:
    • Maximum FPS - found in Editor Preferences under Plugins/Scooter Utilities

In Windows, the persistent editor Settings, are stored in this config file:
C:\Users\<username>\AppData\Local\UnrealEngine\<EngineVersion>\Saved\Config\Windows\EditorSettings.ini

Getting up and running

Max FPS

The Max FPS (Maximum Frames Per Second) setting is found in the Main Menu bar; Edit > Editor Preferences, then selecting Plugins/Scooter Utilities.

Max FPS overrides the console variable setting, t.MaxFPS, which sets the engine's maximum editor frame rate. The ScooterUtils Max FPS setting is persistent and will stay set across all projects and restarts. Set it to 0 to let the system and it's console settings take over again.

Turn off Smooth Frame Rate and Used Fixed Frame Rate under Edit > Project Preferences, General Settings/Framerate if you need to unclamp the system and run it as freewheeling as possible (These are off by default).

Restart Editor...

Restart Editor is found in the Main Menu bar, under File > Restart Editor....

This will shutdown and restart unreal engine, prompting you to save any unsaved changes, and reload your project on restart. This is the same behavior you see when you enable or disable a plugin.

This is for developers that need to frequently restart the engine to test code changes, clear undo stacks, refresh the system, etc. It's also nice for those times you've been working in the editor for a while and things just start to feel... um... off. Just hit Restart Editor... and you're project will shutdown and restart -- no launcher popping up and prompting for a project to load, and no searching in file explorer to find the uproject file to open.

Show Project in Explorer

Show Project in Explorer is found in the Main Menu bar, under File > Show Project in Explorer.

This will open file explorer focused on your main project folder -- i.e. the same folder as your project's .uproject file.

Being able to open the project in Explorer is nice for when you've opened a project from the Launcher and you need to know where it's actually stored on disk. You can also do this by right clicking on assets in the content browser, which will take you do your project's content folder, but this menu makes it a bit quicker to get to.

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.

Warning

As of UE 5.5.0, the automatic building of plugins from source 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).

Where did "Persistent Editor Scale" go?

This was my first plugin in Unreal Engine. It was inspired by a declined Epic Games Github Pull Request.

I wanted that feature myself, so I took the opportunity to teach myself plugin programming and implemented it as a feature called Persistent Editor Scale. Since that time (as of UE 5.4) Epic implemented the feature!, and it can be found by navigating to Edit > Editor Preferences..., General - Appearance / User Interface / Application Scale. I've removed the functionality from ScooterUtils to avoid any conflicts or confusion.

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.

* If you are using this repo/plugin with an engine version prior to UE 5.5, please make sure you clone/download the correct branch/version.

Dependencies

This plugin is source code only - I'm not currently providing binaries. If you're looking for binaries for the Windows version, contact me and I'll try get you a build. If you need an older build or another platform, I won't be able to build it for you, so you're going to have to get in touch with someone that can help you (See the Support/Contacts section below).

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 (just use the project-based approach, it's so easy).

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 your project 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! The plugin development workflow is really very impressive, and if you've ever developed plugins for other applications, you should check it out.

Contributions

To locate other developers, I'd like to recommend the # cpp, # plugin-dev and # engine-source channels on the Unreal Slackers Discord server, but recently there's a lot more trolls than helpful people up there. It used to be better, but give it a shot. You may have better luck than me :-)

References / Inspirations / Credits

  • sign into the Unreal Engine Learning & Support area and take the Best Practices for Creating and Using Plugins course - it's great!
  • This blog post on custom project settings is short, but it saved me when I got stuck
  • 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.
  • Again, thanks to Caio Liberali for the original Pull Request on Github. I had been hacking around in the engine source trying to accomplish the same thing when the Pull Request came in. Had it not been declined, I probably never would have said, "hey, why not make it a plugin?"

Credits

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

Project Link: ScottKirvan/ScooterUtils
CHANGELOG
TODO