Material Override on Imported Blender Objects

Godot Version

Godot version 4.3 C#

Question

Hello! I am a material artist trying out Godot. Usually I use Unreal Engine. What I am really struggling with is assigning over-ride materials to certain meshes.

My plan is to make some stylized outline materials/shaders, but I can’t seem to create a material override for my test mesh. The test mesh is rigged, animated, has blend shapes and a default material from Blender. I imported it by following the “Save a Blend File into your Godot Project” pipeline. When I dragged the test_mesh.blend into my scene it shows itself as a “Node3D” type and gives me no options to access the mesh or material.

I would rather have direct access to the material in Godot, rather than edit all the Blender materials for all my objects. Especially for hand-made shaders. Does anyone else have experience with this?

Thank you so much for any help! Learning Godot is rough for a newbie, but there are some really cool things about it too!

You may have to set an external material through the import settings (double clicking the blend file in Godot). Or you can make a Godot-ified version, right click the file in the filesystem and select “New Inherited Scene”. This allows you to edit it’s children and apply new materials in the Surface Overrides section. You could achieve a similar thing with “editable children” if you do not intend to re-use the asset or it’s materisl.

Working with materials of imported Blender objects is not always intuitive and sometimes requires specific settings or preparation. I have summarized some of that in this video.