The Gradientspace UE Toolbox is an extension plugin for Unreal Engine 5 that aims to improve the Editor-side content creation process. This includes basic Editor Quality-of-Life features, Workflow-enhancing Tools to make you more efficient, and new types of utility Actors, Components and Assets that can help you build Real-Time Content.

 

It’s still early days for this plugin, but I have many additional capabilities in-development to improve Editor workflows, particularly around Procedural Geometry Generation and Editor Scripting. As a former Engineering Fellow at Epic Games, I led the creation of UE Modeling Mode, Geometry Script, and Scriptable Tools, as well as inventing new LOD and HLOD generation techniques that were critical for the Matrix Awakens UE5 demo and Lego Fortnite. I left Epic so that I could develop new creative tools on my own timeline, directly for my users. So if you have thoughts, please get in touch!

-Ryan Schmidt

Jump to [Downloads], [Installation Instructions], or [Frequently Asked Questions]

Feature Overview

The Gradientspace UE Toolbox adds a suite of features to the Unreal Editor and Engine, ranging from basic Editor Quality-of-Life improvements to significant extensions to in-Editor 3D content creation. The video below is a quick 5-minute intro to the feature set in the initial 0.1 release of the Toolbox. Scroll past the video for a text-based high-level summary of the feature set, with links to more extensive documentation.

Gradientspace Modeling Mode Extension

Currently the Toolbox is primarily exposed as an Extension to Unreal Editor’s modeling Mode, which adds a Gradientspace Tab with a new set of Tools.

  • Create Textures - create new Texture2D assets, in all supported Source image formats, with extensive tooltip documentation for available options, and presets for common setups

  • Texture Paint - paint Texture2D assets in the 3D Viewport, using a 3D brushing interface. Textures assigned to the Materials of the target Object are automatically detected and selectable for painting, including Virtual Textures and all engine Source formats.

  • Pixel Paint - paint individual texels of Texture2D assets in the 3D Viewport, like 3D on-surface pixel art. This tool works well with pixel-aligned UV maps, like those generated for ModelGrids.

  • Import Mesh - import meshes with support for converting imported Polygons to Polygroups, and direct import as a DynamicMesh (currently only OBJ format)

  • Export Mesh - an improved multi-mesh export process with many controls for naming, combining, groups-to-polygons, and transforming to common DCCs (currently only OBJ format)

  • QuickMove - a utility tool for quickly positioning Actors using various direct-manipulation methods, tuned for rapid gizmo-free interaction (and including support for scene collision!)

ModelGrid Objects and Tools

A ModelGrid is a new type of 3D shape representation, based on a uniform grid of cells where each cell can be filled with a fixed set of parametric mesh elements. The goal is to go beyond the standard “3D voxel cubes” approach while still staying in the realm of a discretized, easily-understandable shape vocabulary that directly translates into large-scale world representation. ModelGrid objects can be used for Level Design and Blockout, authoring Collision Shapes, a starting point for hard-surface/SubD modeling, or as a fun way to create stylized content for your game!

Our suite of ModelGrid Components and Tools is a work-in-progress, and currently includes:

  • ModelGrid Actor, Component, and Asset, with support for In-Level and Asset-backed modes

  • ModelGrid Editor with many different tools for creating shapes and painting

  • Grid resizing, cropping, flipping, setting the pivot, etc

  • Import Grids (Magica Voxel .vox format, convert image to grid)

  • Rasterize selected Meshes into a ModelGrid

  • Convert a ModelGrid to a Dynamic or Static Mesh, with various mesh optimization strategies. Optionally generate a pixel-aligned per-face UV layout, with associated Texture2D and Material, for use with Painting tools.


Gradientspace Script

ModelGrids can be created and modified procedurally using Blueprints, similar to Unreal Engine’s Geometry Scripting. In addition, we from time to time we feel the need to add something that we think Geometry Scripting is missing. These range from simple Quality-of-Life improvements and shortcuts, to core technical additions. The library is small now, but it will keep growing. Find the function reference here.


Editor Quality-of-Life Improvements

There are just some features that Unreal Editor is missing, things that could be implemented, and should be implemented, but are not. Things that might not look as slick, but will save a lot of clicks. From time to time we get the urge to do something about these, for our own sanity. So far we have:

  • Startup Editor Mode - configure which Editor Mode to switch to when starting the Editor or opening a new Level

  • Mode Buttons - Add buttons to the Main Toolbar to quickly jump to different Editor Modes (customizable)

 

Documentation, Tutorials & Help

Documentation for this plugin is still a work-in-progress. In the meantime, feel free to ask for help on available social media channels:

 

Downloads

Click the UE version numbers below to download the corresponding zip archives of the plugin

Version 0.1.7 // Windows Win64 // [ UE 5.3 ] [ UE 5.4 ] [ UE 5.5 ]

  • 0.1.7

    • Improved Symmetric editing Model Grid Editor, now works during selected-cell edits

    • Pixel-aligned UV generation for ModelGrid cell faces in the Grid To Mesh Tool, with optional Texture and Material creation

    • New Create Textures Tool for creating Texture2D assets

    • New Texture Paint Tool for painting Texture2D assets on 3D objects. Volumetric and Surface-based (geodesic/connected) stamping with falloff, flow-rate, spacing controls. Full-stroke Alpha-Compositing similar to 2D pixel painting tools. Channel Filtering, Automatic Color Palette (ctrl+click to remove), Nearest-filtering toggle (n hotkey), eyedropper (shift+g/ctrl+shift+g). Supports RGBA8 (sRGB and Linear) painting of all source Texture formats, and Virtual Textures.

    • New Pixel Paint Tool for painting Texture2D assets on 3D objects using single-texel solid fill brush. This tool pairs nicely with ModelGrid PixelAligned textures!

    • New Settings Tool for quickly accessing Gradientspace settings as well as relevant frequently-used Editor settings (like Undo buffer size, v important for painting)

    • Various UI tweaks

    0.1.6

    • ModelGrid cells now support X/Y/Z Flips in per-cell transforms

    • ModelGrid Editor tool now supports Symmetry

    • Magica Voxel import now supports importing entire scenes, either as a single merged ModelGrid or per-object ModelGrids

    • Minor improvements to in-viewport gizmos in ModelGrid Editor

    • New Grid Tool now copies settings of an existing ModelGrid if one is selected on Tool startup

    • Added Axis Lock in WorldDrag mode of QuickMove Tool

    • Added GSGeneratedGridActor, behaves similarly to GeneratedDynamicMeshActor but for ModelGrid generation

    • Added GradientspaceScript (GSS) library of BP functions for working with GSModelGrid objects. See the documentation here.

    • Added BP function RequestOneFrameTempDynamicMesh which is an alternative to using UDynamicMeshPools for procedural UDynamicMesh generators. The returned Mesh will be returned automatically on next Tick, but ReturnTempDynamicMesh is also available to do it explicitly

    • Added BP function ForEachMeshVertex and ForEachMeshSelectionIndex which iterate through indices and call a delegate for each

    • Added BP functions MapMeshFromActorSpaceToWorld, MapMeshToWorldFromActorSpace, MapMeshFromActorToActor, MapMeshToOtherLocalSpace to simplify transforming meshes between Local & World spaces

    • Added BP function CalcLineTraceStartEnd to simplify setting up LineTrace from Point & Direction

    0.1.4

    • Fixed crash when using some Static Meshes with the Rasterize to Grid tool (thanks to user John on the Gradientspace Discord for the bug report)

    • New Rectangle model & paint mode in Grid Editor tool

    • Fill Layer mode in the Grid Editor tool now supports click-dragging to extend the fill for multiple layers, in addition to single-click for one layer  (thanks to twitter.com/b_swinny for the nudge on this and the Rectangle modes)

    • Fill Layer mode in the Grid Editor tool now supports optionally cloning the base layer, as an alternative to appending the active cell

    • Fill Layer mode in the Grid Editor tool now has an option to filter out non-solid cells

    • Additional hotkeys in Grid Editor

      • A toggles Alignment option

      • R rotates preview or selected cell around +Z  (shift-R does reverse-rotation)

    • Minor UX improvements in Grid Editor (cell preview should be less flickery)

    [ Release Notes for All Previous Versions ]

Note: your browser may initially refuse to download these .zip files, and let you know that they are “suspicious” because they are “not commonly downloaded”. That’s life for an independent developer!! You should be able to get a button to come up to download them anyway.

 

How To Install This Plugin

Note that at this time, only Win64 Editor platforms are supported. Although packaged game builds can be created that contain ModelGrid Actors and Assets, they are Experimental and not intended to be shipped in a production game - see the Installation notes!

Currently this Plugin is only provided as a pre-built Binary Plugin, ie Source Code is not included. We are still working on a way to distribute Source for the Unreal-dependent parts of the Plugin, in a way that is sustainable long-term (See the FAQ for details). We are looking for a few interested Indies & Studios willing to prototype our Source Access program, if this sounds like you, please contact rms@gradientspace.com with details.

Essentially, the contents of the precompiled-binary Plugin zip files above just need to be placed in a suitable location where Unreal Engine will find them. We intend to provide an automated installer in the future, but for now you will need to do this unzip-and-copy manually, using Windows Explorer. You can place the plugin at one of two locations, either at the level of your UE Project, by placing the plugin in the folder:

<UEProjectFolder>\Plugins\GradientspaceUEToolbox

Or you can install the plugin inside the Unreal Engine launcher/binary installation folder, where Marketplace plugins are also installed:

<EngineInstallationFolder>\Engine\Plugins\Marketplace\GradientspaceUEToolbox

For a step-by-step breakdown of doing this installation, or notes on more advanced configurations like using the precompiled binary plugin with an Engine source build, see the in-depth Installation and Upgrading Notes.