Material Color Utilities for Unreal Engine

An Unreal Engine plugin that turns one seed colour into the 54 Material Design 3 colour roles, in the editor and at runtime.

Published on Fab; source on GitHub, Apache-2.0.

It wraps Material Color Utilities, the library behind Material Design 3’s dynamic colour, and exposes the whole of it to Unreal Engine 5.7 for Window, Linux, and macOS.

Migrating Material Design 3 to Unreal Engine

Give it a seed colour and it resolves the 54 colour roles Material Design 3 defines: primary, its container, what goes on top of each, the surface ramp, the error pair, and so on. Also in nine scheme variants, in light or dark, with WCAG contrast adjustment as a parameter rather than an afterthought.

In engine screenshot

The screenshot above is a Color Scheme data asset in the editor: seed on top, resolved roles below, updating live as either is changed.

The part that was actually work

Material Color Utilities depends on Abseil. Unreal has its own opinions about the standard library, its own build system, and no interest in a second one arriving underneath it.

So the third-party code is vendored and built as a static library with the Abseil dependency removed, which is what lets the plugin drop into a project without dragging a parallel toolchain in with it. That work is the reason this is a plugin rather than a gist.