[SHELVED] Material Layering Feedback for 4.19

This is pretty disappointing. I’ve moved to this system entirely now. It’s such a powerful, tidy way to organize materials and results in a more efficient, less destructive workflow. I’d hoped that it would only get better, not that it would be dropped entirely. I see no reason to use the old system when this shows signs of being a significant step up.

Question is about the how to access at runtime. (i’m currently using version 4.20.)

  1. How to access layer parameters at runtime.
  • The current code can not be accessed as below.
    void UMaterialInstanceDynamic::SetScalarParameterValue(FName ParameterName, float Value)
    {
    FMaterialParameterInfo ParameterInfo(ParameterName); // @TODO: This will only work for non-layered parameters
    SetScalarParameterValueInternal(ParameterInfo,Value);
    }

  • Should I access ParameterInfo by modifying it with EMaterialParameterAssociation :: LayerParameter?

  • Or is there another way to access the runtime via BP?

  1. How to toggle a layer at runtime
  • This part was not found in both code and BP.
  1. How to make a cache for all cases
  • If can toggle at runtime, the engine will take care of the cache for all cases?
  1. Loading problem
  • Caching related errors occur frequently during initial loading.
  • If save the material again, it will be resolved. Why?

Extremelly dissappointed with the development halt.
In fact we started a branch in our project to support this when it were released so its kind of a major issue for us. Let’s see if the community can push to get this continued.

Has there been any update for this potentially being resurrected? It looks great to me and I would love to use it in production. I’m just worried it might get removed/broken. Please can we get this to continue its development to be ‘released’, even if it doesn’t have any new features added

I’m sad to hear about this being discontinued as well. Hopefully there are better things in store.

This was the biggest feature the engine was going to get in ages. Really disapointed to see it beeing canceled. Beeing able to add and remove material functions on an instance level would have saved everyone so much time and effort, both, while creating and compiling.

that’s just fantastic… I replaced my original workflow for this on a 5 year project, just to find out its been discontinued… why keep the bloody videos up on your youtube page for this feature which is Misleading people, and not mentioning the discontinuation in the video description or the front page of this post… Cant even switch back now since everything is using this tool. so ****** off right now…

Going to contact RAMA and see if he will be interested in making this as a separate plugin but in a more complete state

Yep… cancelling it after even GDC presentations about it were spread was a bad move :confused:

Sad

This is sad news,
but this layering system was very uncomfortable, because of having to create specific objects (Mat Layer, Mat Layer blend …) to make it work.
We had to redo all our libraries to be able to use them in this way.

I would love to help everyone out regarding this unfortunate turn of events, but I am deep into my game’s development.

I hope Epic hears you all and recognizes how many of you were absolutely enjoying the feature.

:heart:

Rama

Disappointing, to say the least. This had potential to be a really useful feature.

Sad to see this is still on hold, this was a huge workflow+performance boost for using tillable materials. Would love to see this pushed to a non-experimental stage at the very least!

Not a promise, but in a recent answer to a question regarding Material Layers, someone from Epic did say they hoped to return to it this year:

Hi Michael, I’m passing this to our Material Layers guy, but that feature is on hiatus atm. Though we do hope to get back to it next year."

Dear God, please return to developing the layered material option! It blows my mind that such a powerful feature was abandoned after being so close to completion.

Actually it can be easy used like in farcry material layer blending on cars - from page 150:
http://advances.realtimerendering.co…h%20Notes).pdf

You need only detail blend (height lerp function with detail mask (for example you need rust mask like in substance painter mask generator)), dirt layer in master material that is top on all layers and you can save lot of memory.

Every time I Open The Layers Material Folder I Created to keep mine Variations Layers mats… they all start Compiling and it start to became a huge Nonsense, specialist when you have a huge Library of layers of different type of metals, fabrics, etc. etc. They all just start compile as soon you open the folder to created new ones is very annoying… it this a bug ?

Epic please pick this feature back up. It’s just got way too much potential. Even if you’re using the smartest, most modular approach with standard layered materials, the time savings this Material Layers feature provides when adding layers is massive. Not to mention the benefits provided by enabling artists who are not well versed in material creation to piece together complex materials from curated libraries of material layers and material layer blends.

Until you restart development on this (my prediction is you will cause it would madness not to), please update the documentation to reflect its current status. Oh and updating the info section on the related YouTube videos would be nice too.

The documentation is tagged as “Experimental” which is one of our ways of saying that we’re either not working on this feature and don’t recommend using it for shipping your game unless you plan to maintain it, or that we are working on it but it’s not in a shippable state right now for the current release. In this case, it’s the former.

We don’t specifically mention on pages, beyond “experimental” or “beta” status, because it would be a significant chore to maintain more detailed plans on each page and should we miss something that can lead to further confusion and expectations. It’s better for the documentation to be more strict in defining expectations of these features with “Experimental” and “Beta” definitions.

This is a feature that we want to revisit for development in the future, however, there is other work that has a higher priority at this time.

i would love to see this completed and compatible with virtual streaming having them both working together would be mind blowing and one of the most useful and powerful features, it would definitely make unreal stand out from unity or any other competitor

I won’t keep my hopes up, though.