x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Assign material to multiple meshes in Content Browser

So perhaps I overlooked something, but I want to be sure :)

I just imported 200+ meshes which luckily all use the same material. Is there a way to apply this material to all these meshes at once?

Cheers!

Product Version: Not Selected
Tags:
more ▼

asked Aug 24 '14 at 02:47 PM in Using UE4

avatar image

Luos
9.2k 283 63 328

avatar image Doug E ♦♦ STAFF Aug 25 '14 at 07:05 PM

Hey Luos-

After selecting all the actors in the scene outliner at once, you should be able to set the material to all of them by dragging the material from the content browser onto any one of the actors in your scene.

Cheers

Doug Wilson

avatar image Luos Aug 25 '14 at 08:10 PM

Hello Doug, I don't want to apply them to the meshes in scene but all the meshes in the browser.

avatar image Doug E ♦♦ STAFF Aug 25 '14 at 08:28 PM

Sorry, misinterpreted the question. There is no way to apply the material to multiple meshes at once in the content browser. You would have to manually assign the material to each mesh if you wanted them to display in the browser window.

avatar image Luos Aug 26 '14 at 02:02 PM

Then this would be a nice opportunity to suggest such a thing. Especially since eventually I will need to do so for 900+ meshes. :)

avatar image blented Aug 10 '15 at 12:48 AM

Anyone ever figure out a way to do this? I have the same problem as @Luos. I don't want to assign them in the scene, I want to change the material on multiple objects :\

avatar image Luos Aug 10 '15 at 10:02 AM

Still not possible to do so sadly :(

avatar image Luos Aug 10 '15 at 01:17 PM

Uhm Doug.. I understand you accepted that answer because you want this question as resolved.. but your answer wasnt satisfactory nor correct.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

5 answers: sort voted first

Ran into this problem myself recently and figured out a workaround. If you assign the same material to all your meshes in your 3d modeling application before exporting and import that material along with the meshes into the Unreal editor, you can then delete that newly imported material and replace mesh references to that material in the delete dialogue to a material of your choosing.

alt text

more ▼

answered Nov 16 '16 at 10:25 AM

avatar image

SkyHigh
471 9 14 35

avatar image blented Nov 16 '16 at 01:33 PM

Finally! At least a workaround! Hopefully we can get some sort of official workflow soon but this definitely helps.

avatar image Furinyx Feb 10 '17 at 03:46 AM

This should be marked as the solution as it provides a workaround.

avatar image Haoris Mar 17 '17 at 04:13 PM

I don't know why but only materials are shown in the list, not material instances :/

avatar image hesto2 Apr 21 '19 at 09:22 PM

This man is a genius, I know this is 2 years old but I'm so happy I found this.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Hi Luos -

I have placed a feature request for the addition of Materials to the Property Matrix which would allow for bulk editing, for reference UE-19826. As we investigate the possibility I will keep you informed here.

Thank You -

Eric Ketchum

more ▼

answered Aug 10 '15 at 03:52 PM

avatar image

Lovecraft_K ♦♦ STAFF
36.8k 702 260 734

avatar image blented Aug 10 '15 at 06:09 PM

That's the spot that makes the most sense to me. Thanks for the update Eric!

avatar image TorQueMoD Mar 08 '16 at 02:56 AM

Any chance this is going to happen any time soon? It would be an incredibly handy feature

avatar image Tim Hobson ♦♦ STAFF Mar 08 '16 at 12:51 PM

It's still backlogged at the moment. I don't think this is going to change in the foreseeable future due to all other priorities and limited resources.

avatar image Furinyx Feb 10 '17 at 03:31 AM

That's unfortunate, it can be a decent waste of time for bulk imports of assets, especially environment assets.

avatar image TorQueMoD Jun 21 '17 at 09:35 PM

Just thought I'd bring this to attention again. It would be a really handy feature to have the ability to assign materials in the property matrix. In my case the models aren't assigned the same material in 3ds Max so it's just as quick to manually assign the same material to all of them in UE4. Sadly still incredibly slow.

avatar image Genova Aug 04 '17 at 02:41 AM

Well, that's still something that could save tons of time.

The request ID seems to have been part of the database issue you guys experienced a while ago, it's now flagged as an Unknown Issue.

Could we have a new issue created so we can vote for it ?

thanks

avatar image EoinOBroin Aug 04 '17 at 03:32 PM

Agreed- would save a lot of time.

avatar image EstherZuidgeest Feb 19 '18 at 09:54 AM

still no solution...

avatar image Bluntie Sep 09 '16 at 11:20 AM

Just adding my voice to the choir - this is a feature I would really really like to see implemented, ASAP.

avatar image Azarus Feb 04 '17 at 07:32 AM
  • for this

avatar image Ryan_architect Sep 05 '17 at 07:15 PM

So i might have found a temporary solution also.

The issue I had with SkyHigh's solution was that it worked for replacing references between materials but not between material and instance.

The way i have found that works (and its by no means perfect (EPIC get onto this and solve it) but you select all your meshes with the material you want to change within the content browser (hopefully you're organised there...) > right click > Asset Actions > Select actors using this asset. That will then select all the meshes within the design space, and you should then be able to change the material in the details window to the right.

If the materials do not show up, you might have selected a mesh(s) that are contained within a group and for some reason you cannot change that... Dont ask me why...

Im just a noob at this but thought i would explain a way i found that it works.

Please return the favour if you find a better / faster way.

Cheers

avatar image EstherZuidgeest Feb 19 '18 at 09:54 AM

This is not a proper solution since it only changes the material on instances in the scene outliner and not on your content browser meshes.

avatar image TorQueMoD Apr 21 '18 at 07:36 PM

Bump. Is there some way we can get this added to an official list and vote on it? I've been wanting this for more than 2 years now!

avatar image icarumba Aug 12 '18 at 04:13 PM

Bump. Me too!

avatar image Penguinburger1 Oct 19 '18 at 09:35 PM

Bump. Me too

avatar image Niberspace Nov 25 '18 at 02:03 AM

I have this issue on nearly every single task I do, I'm really surprised it wasn't the first thing to be added into the matrix.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

So, you can't do this in the bulk asset editor, but you CAN do this now with Blutility \o/

  1. Make sure Blutility is enabled under Experimental

  2. In content browser go Add New > Blueprints > Blutility

  3. Make the parent class "AssetActionUtility"

  4. Paste these nodes in, compile and save.

  5. Now you can select a material, then select any number of static mesh assets, right-click and "Apply Material To Static Mesh"

(This is in 4.20)

alt text

more ▼

answered Oct 23 '18 at 03:31 AM

avatar image

Spoondog
455 13 25 38

avatar image crturybury Jan 02 '19 at 10:24 PM

What would be nice is selecting a material in the content browser right clicking and clicking and option that selects meshes with material so you could do a large material replace with some other material. Is this possible with Blutility?

avatar image Spoondog Jan 02 '19 at 10:32 PM

Yea it should be possible in blutility by iterating assets via the asset registry. Or you could maybe do it now by using the reference viewer to find the meshes using the material (I think you can select multiple things in the content browser via the reference viewer), and then apply the new material via the method I posted above.

avatar image crturybury Jan 03 '19 at 09:25 PM

Would you be able to assemble a node graph and post a photo on here please? I am a noob for sure!

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

To complete Spoondog answer, you could also automate the process using python.

The script presents two ways of applying material: on all static mesh in a directory of the content browser, on static mesh of selected actors in level.

 import unreal
 new_material_path = '\Game\M_NewMat'
 asset_folder = '\Game\Geometries'
 
 load_material = unreal.EditorAssetLibrary.load_asset(new_material_path)
 version = 1
 #version 1: setting material based on asset in a  content browser directory
 if version == 1:
     list_assets = unreal.EditorAssetLibrary.list_assets(asset_folder,True,False)
     for asset in list_assets:
         load_asset = unreal.EditorAssetLibrary.load_asset(asset)
         if load_asset.get_class() == unreal.StaticMesh.static_class():
             load_asset.set_material(0,load_material)
             unreal.EditorAssetLibrary.save_asset(asset)
 #version 2: setting material on meshes contained in selected static mesh actors in the level
 elif version == 2:
     list_selected_static_mesh_actors = unreal.EditorFilterLibrary.by_class(unreal.EditorLevelLibrary.get_selected_level_actors(),unreal.StaticMeshActor)
     for static_mesh_actor in list_selected_static_mesh_actors:
         static_mesh_component = static_mesh_actor.static_mesh_component
         if static_mesh_component is None:
             continue
         static_mesh = static_mesh_component.static_mesh
         if static_mesh is None:
             continue
         static_mesh.set_material(0,load_material)
         unreal.EditorAssetLibrary.save_asset(static_mesh.get_path_name())


[1]: /storage/temp/259024-setmaterialonassetspy.txt

more ▼

answered Nov 09 '18 at 02:06 PM

avatar image

UE_FlavienP
31 2 3

avatar image Mundi Umdali Apr 08 '19 at 04:17 PM

So still not solved?

avatar image JohnADaniels Apr 08 '19 at 05:19 PM

Count me in! Just imported a bunch of buildings and now going one by one changing the material :(

avatar image Luos Apr 08 '19 at 08:38 PM

Both Spoondogs and Flaviens answers give you quick and quite easy to set up ways to batch-apply materials to meshes, especially now with more advanced blutility potions.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

I had the same problem many times, so I made a blutility that assigns single material to many meshes.

Here's a free download: https://gumroad.com/l/BlutilityTools_UE4

Overview and installation video: https://www.youtube.com/watch?v=JShsgf7lcAw

more ▼

answered Apr 20 '19 at 08:40 PM

avatar image

m.orzelek
1 1 1

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question