Quick Start
This guide shows the shortest setup for painting a mesh at runtime.
Quick Start Tutorial
1. Place a Mesh in the Level
Start by placing the mesh you want to paint in your scene.

2. Add the Paint Target Component
Select the actor that owns the mesh, then add RuntimeMeshPaintTargetComponent from the Details panel.
This component owns the runtime render targets, prepares the paint textures, and applies them to the target mesh materials when the game starts.

3. Optional: Review the Runtime Target Settings
The default render target settings are enough for a first test. You can later adjust the texture resolution, render target format, initial colors, and texture parameter names from the Runtime Target section.

4. Optional: Choose Mesh Targets When Needed
If the actor has a single mesh component, the target component can resolve it automatically.
If the actor contains multiple mesh components and you only want specific meshes to be paintable, add their component names to Mesh Targets.

5. Check Collision
The mesh must block the trace channel used by the painting controller. By default, this is Visibility.
If the trace does not hit the mesh, the brush preview cannot lock onto the surface and painting will not be applied.

6. Set Up the Mesh Material
Open the mesh material and set up the Mesh Painting material function correctly.
For the normal setup, connect BaseColor, Metallic, Roughness, and Brush Emissive to the matching material outputs. Brush Emissive is required for the on-mesh brush area preview.
For more information about the material setup, see Material Setup.

7. Add the Painting Controller
Go to the player pawn, character, or controller class that will handle painting input, then add PaintingModeControllerComponent.
This component handles paint mode input, brush settings, brush preview, color picking, camera behavior, and multiplayer paint command submission.

8. Optional: Paint Target Filter
You can leave PaintTargetComponents empty on the controller. In that case, the controller can paint any valid RuntimeMeshPaintTargetComponent it hits.
If you fill PaintTargetComponents, painting is limited to only the target components in that list.
9. Enter Paint Mode
Start paint mode with the default toggle input or by calling EnterPaintingMode.
When setup is correct, the color picker opens, the brush preview follows the mesh surface, and painting applies color to the runtime paint texture.
Optional: Control Modes
The controller includes a Control Mode option:
Character Locklocks the normal character look input while paint mode is active and uses the plugin's painting camera controls.Simplekeeps the setup lighter for custom pawns, drone-style cameras, or cases where you do not want character movement handling from the plugin.Nonedisables the plugin input handling. Use it only when you want to drive painting manually from your own Blueprint or C++ code.

Optional: Ready Input Assets
If bLoadDefaultInputAssets is enabled, the component loads the plugin's ready-to-use input assets:
/MeshPaintingCore/Input/IMC_PaintingMode/MeshPaintingCore/Input/IMC_PaintingModeToggle
Default quick controls:
Ptoggles paint mode. IfbAutoCreateColorPickerWidgetis enabled, the color picker menu opens when paint mode starts.Left Mousepaints under the cursor.Spacepicks the color under the cursor.Middle Mouse + Dragorbits the painting camera.Shift + Middle Mouse + Dragpans the painting camera.Ctrl + Mouse Wheeladjusts brush size.Mouse Wheelzooms the camera inCharacter Lock.W/A/S/Dmoves the character inCharacter Lock.
That's all you need for a basic runtime paint test. If your project needs multiplayer, custom materials, input changes, or advanced brush behavior, continue with the other documentation pages.