It goes against the rules of some platforms to allow executing arbitrary user generated shader code for security reasons.
What we would have to do it create a whole new CustomHLSL system where we provide a sandboxed environment where users could code only against a sanitized API that we maintain, so no direct ‘HLSL’ API calls or constructs. That would be the equivalent to using material nodes, but in text. It would be useful for those wanting to write out their shader logic in code instead of nodes, but it would be restricted in what buffers and functions you could access etc.
This is something being discussed but not on the roadmap for now. What is on the roadmap is to roll out the new HLSL Translator backend that will enable the material editor to become more powerful with strong typing and proper dynamic branching and loops an more. The idea being that users should be able to achieve anything through nodes and rely less on CustomHLSL.
What is it that you’re trying to do with CustomHLSL?
This was on the “Forward Looking“ page. I wouldn’t mind to have a higher level verse based abstraction to do this for PCG and for materials to be honest. Additionally having script based materials is often much easier to parse in terms of logic execution than gigantic spaghetti looking node based materials.
That reasoning makes sense, wasn’t aware of that at all.
I’ve talked about the standard Unreal Engine Water plugin material function “GetWaveData” before but that’s what I was hoping to accomplish here, as it uses Custom nodes to pull info otherwise unavailable through the Material Graph.
You’ve talked about a new water system that’s in the works before, but I really do just wish GetWaveData could be exposed before then so it’s remotely possible to interact with this system for Water, very frustrating not being able to do so. Currently Water bodies default materials in UEFN have completely broken transitions, this was marked as “Won’t Fix” on a bug report not long ago, not having GetWaveData makes it impossible to make equal quality water materials to address these problems ourselves.
Is there a reason we dont have nanite fallback mesh support, in UEFN we can set the fallback triangle % but we cant actually have it a different mesh like fortnite does in BR. this limitation is arbitrary and makes me think its an accident because there is a nanite override material option in material instances but right now its useless since we dont have fallbacks
@Kev.EG I would like to re-iterate one thing from the previous requests. Is there any chance you can expose “Is Editor Only“ or is another team in charge of that decision?
When we create a new prop blueprint there’s an editor only static mesh component. Copying it reveals two settings:
bIsEditorOnly=True
bIsVisualizationComponent=True
Any chance we can get these exposed? bIsVisualizationComponentseems to be restricted to only appear within a actor blueprint and it causes the component not to leak into the details panel when selected in the outliner.
bIsEditorOnly is theoretically available everywhere.
Not sure if this is your field but is it possible to remove the 2k texture limit, im trying to do high quality textures on a map that is performing well and it does not work because of the limit, thanks!
Epic just (v37.10) added validation support of "/Script/Engine.MaterialExpressionCustom" node for their own use in UEFN based Reload maps. That’s not fair.
@Kev.EG while not directly a hidden setting. Why does v37.10 now disallowing NoMipmaps setting?
I have a texture that should never be streamed, but that’s already enforced, so I set it to NoMipmaps in order to keep it’s quality. This texture uses all 4 color channels to provided data that’s used to calculate custom 2D clouds. However with this new validation error it significantly reduces the quality of the result as those textures are now forced to dynamically up/down sample.
@Kev.EG would it be possible to get the option to apply different materials using the “Select” tool in the landscape settings? This would be really handy to have. I know epic use this internally, and it works like a charm. We have the select tool currently but there is not much we can do with it.
Hey there @Kev.EG, I filed a bunch of individual reports for the previous requests. Feel free to update those tickets when you or your team make some progress on those.
@Kev.EG Would it be possible to expose the Color Ramp node in UEFN that was added in UE 5.6, it would be easy to make simple gradients with it, will be a lot useful.
is it possible to expose collision settings in landscape streaming proxies since currently the landscape collisions are broken and we cant place porta bunkers on them and they spawn underground, a fix for this is going into ue5 and editing collision on it but we cant copy paste proxies so its useless
@Kev.EG I spotted a few more hidden features that would be great if they were exposed. In the post process volume, there are several more bloom related features (bloom methods), including bloom convolution. Can we get those exposed in order to be able to control bloom better and more artistically driven. Fortnite applies their own version of bloom convolution with the default TODM, but we aren’t able to do so when disabling TODM and providing our own post processing volume.
For 2k texture limits, that’s likely there for infrastructure and backend reasons - so we don’t overload the cloud cooker. I’m sure it will be increased in the future, but right now I belive it’s needed.
The Bloom settings have been revamped to work with UEFN across both methods, that’s comign in 38.00.
Color Ramp node, I’ll reach out to the material editor team on that one - might be an easy one to include.
I can’t really answer any landscape queries, I’d recommend spinning up separate threads for those.
Foir the ‘GetWaveData’ ask, we’re probably going to hold out a little longer to see if we can get some traction on the new displacement atlas. If we expose that material function now, we’re going to have a hard time removing it without breaking any islands later.. If the new thing takes too long, we’ll expose the mat function as a stop gap.
I’ve relied on this feature in many use cases e.g. with Fortnite props like terrain pieces or some trees and devices like the Collectable Device, where it allowed me to decide whether grass or other foliage on the landscape should be destroyed. It is sadly enabled by default on a lot of different props and devices which makes the landscape look like this:
This toggle is highly valuable, and exposing it on all static mesh components would be very impactful, of course only if it’s technically feasible. Since it previously worked flawlessly across all platforms when enabled through the property matrix, I believe it should still be possible, though please correct me if I’m mistaken.
This was only an option within a blueprint if im not mistaken ? having said that i feel what your saying about the component tho this should be a option in scenegraph for sure and normal static mesh
Before all properties where hidden this was visible inside the property matrix. (Screenshot from May 3, 2025 on Fortnite terrain props, property matrix inside there static mesh component)
It is still available for custom props, but there are a lot of Fortnite props and devices which have it on by default, so it would be huge if i came back but now even without property matrix natively on static mesh components.