Which is the usual approach for in-game editors?

Hello!

I’ve been wondering a lot about in-game editors, such as for example racing track editors or an in-game scenario editor, car painting with default shapes in-game (Need for Speed or TrackMania are great examples of this), user uploaded skins or artwork into the game… Which would be a way to reproduce this within Unreal Engine?

Hope you can help me out a bit with this!

if you want to assemble shapes onto a texture at runtime, you could make each shape a static mesh, and have an array of these meshes mixed with transformation data stored in a struct inside the save file. when you load the vehicle in game, you can have a blueprint go through the array, spawn the meshes with their transformations, render them to a texture using a SceneCaptureComponent2D, and use that texture on the vehicle.

then you just need to make a user interface that allows players to edit that array while in the paint garage. to do that, you can make a widget with an empty vertical box, and dynamically add other widgets on event construct, each of which contain a drop down to choose the mesh, and sliders to control 2D location, rotation, and scale, as well as a depth slider for sorting overlapping parts. you can even add a drop down for choosing a pattern to render on the shape, as well as some transformation data to control the scale, rotation, and color of the pattern, through its material instance parameters.