Again, another Node not allowed due to weak platforms.
The SceneColor node is no longer allowed, because it doesn’t work on ES3_1.
Again, another Node not allowed due to weak platforms.
The SceneColor node is no longer allowed, because it doesn’t work on ES3_1.
Hi,
In 26.00 we made it an error to use SceneColor without adding handling for platforms where it wasn’t supported. Prior to 26.00 it wasn’t an error, but users on those platforms would have seen visual issues.
This change should have been called out in release notes, apologies.
To use SceneColor (or any other nodes that aren’t supported on mobile/Switch) just use the FeatureLevelSwitch to supply a different default value for those platforms.
E.g in this image the default value is from SceneColor, but ES3_1 just uses 0.
Remember you can can change the Preview Platform in the editor to see what this will look like.
Thank you Andrew, that makes sense.
FWIW - some of those “weak platforms” are huge contributors of hours to the Creative platform
I know it can feel like a lot of extra work (because it is extra work!) to set up materials / LODS / UIs that work well on those platforms, but they have a lot of users who are just as hungry to play great games as people with newer hardware.
I’m aware, it’s just that in the past other things have been removed because lower end couldn’t support them, which is just sad.
Interesting, do you have an example? (Physics was different FWIW - that was just not ready for long-term stability on any platform!)
Our intent is generally to give Creators access to every high-end feature that exists in Unreal Engine, and provide alternative solutions for lower end platforms.
Where possible we try to make those alternatives either automatic or provide a good default (e.g. AutoLODs and Nanite fallbacks) though that isn’t always possible. E.g using Black in a Feature Level Switch may be totally right… or totally wrong.
Custom node isn’t in UEFN.
Was it necessary to remove custom material expressions to support lower end hardware?
It would be nice to have that one back if possible. I’ve had issues importing marketplace materials that use custom node. Usually have been able to re-implement using builtin function, but it’s time consuming, and had a few I couldn’t replicate.
Custom node is a Security Risk, that’s why it was removed
What does each platform code stand for, like which is switch vs mobile or performance mode?
Good question! Would love to see a list as well!
It’s a little tricky because some platforms may use different feature levels based on either the hardware or settings. E.g. Based on when it was released an Android or IOS device could be any one of ES3_1, SM5, and SM6!
These feature levels also just refer to GPU capabilities and not necessarily absolute quality. E.g two devices may only have ES3_1 feature support, but one could have a faster GPU/CPU so overall has better quality.
In general
ES3_1 - Switch
SM5 - PS4/XB1/DX11 (inc Performance Mode)
SM6 - PS5/XSX/XSS/DX12
As noted mobile platforms could be in any of these buckets based on the hardware
OK so how do we use that node to disable or modify shaders for those platforms? I only see one output for that node and no way to determine if the platform is one or the other.
The shader compiler will only use the input for the current platform.
E.g. if “Default” has a SceneColorNode input, and “ES3_1” has a constant value, then on Switch the shader compiler will ignore the SceneColorNode input and use the constant value.
Will the custom node in Material Functions ever make a return? It’s such an important feature when you want to get very specific results out of your materials…
Any answer as to why append3 was removed? that one makes 0 sense to me
The status of this incident has been moved from ‘Awaiting Validation’ to ‘Closed’.
This needs to be showcased as I feel like many do not know about it even existing. Thanks so much for sharing! Spreading the word as much I can as well