The future of MAT - where are the killer features?

It is kinda quiet in here recently. Devs got some off time after release crunch? … or more likely busy chewing on reported issues :wink:

So now that the cat is finally out of bag and everyone had a chance to pet it… I can’t help but keep asking myself what are the killer features that will make me switch? So far most of the current features are present in one form or another in competition s/w.

Gathering it all in one app sounded like a killer feature to me initially. But on a closer inspection - thanks to single app window UX paradigm (i.e. working on one thing at a time only, having to constantly switch contexts) - turned to be a limiting factor instead. IMHO what’s the point bringing it all together if you can’t have say a material graph and layering open side by side? Subjectively no ability to detach tabs and other UI panels and permanently pin them to specific editing context is a huge downside. To me it feels as if someone obsessed with simplified slick UIs (somehow Affinity apps come to mind?) copied that to much more complicated incompatible workflow, i.e. form over function. Though even in Affinity apps you can tear off tabs and panels.

Performance - perhaps. Can’t really judge on this one. Subjectively some equivalent ops do feel indeed faster. You really need to run a big scale automated production pipeline to gain from it.

Other than that honestly can’t think of anything big. So where is the big master plan / roadmap? :wink:

I realise the field is not new and everything that can be invented has already been invented. Mostly. Yet I think MAT can come with some killer unique features to stand apart.

Here’s my personal Xmas wish list :slight_smile:

  • Building on the original idea of one-app-to-rule-them-all, please give us the geometry nodes! So that many many Houdini & Blender tasks can be done in-place. You already have mesh generator nodes, so why not expand on that and allow to generate and directly manipulate vertices, polys, edges, UV, custom attributes. You already have mesh booleans - add other commonly used procedural ops like groups, extrude, inset, bevel, project, cut etc.

  • 2D vector paths / curves. I thinks this one is a must actually. The single Bezier node we have now is just way too limited. Needs tons more 2D paths support. Path import form SVG / .ai, path to mesh, path to height, extract edge, resample curve, stroke, expand stroke, path booleans, text to path, distribute on curve, fit curve (generate smooth curve crossing a set of points), open paths, closed paths, paths with holes, curve to ribbon/sweep, custom curve point attrs and what not. Basically eliminate the need for external vector editor.

  • Mesh tiling. In a nut shell, you can already pretty much replace some basic terrain generation and layering ops in Houdini with MAT. By simply baking a height map to a mesh. But what if you want a rather large map baked into adjacent mesh & texture map tiles? Ready to drop into your game engine of choice? Complete with shared vertices & UVs on the boundaries for seamless tile stitching. The possibilities are endless in this area…

  • High level scripting. I think any tool like that MUST have high level scripting (Python?) from day one. It is one thing to manually tinker with a bunch of materials for a mesh or two and completely different story with a scalable procedural project, e.g. large scale procedural city. Don’t think a C++ SDK can easily replace that.

  • Low level scripting for data processing. An equivalent of Houdini’s VEX? A custom Atom node of sorts you can type some custom code into for those who want more freedom? Atom seems powerful and you can build pretty much anything with it. But the big downside is that even the relatively simple mathematical ops you can describe with one line of code turn into giant spaghetti graphs. So the ability to replace a large graph with a single ‘custom script’ Atom node could be a huge time saver. I realise that this may be limited as these nodes likely run in parallel in compute shaders. Yet Houdini and Co do it so clearly possible.

  • Generative AI? Describe in mere mortal language what kind of maps you want to generate? Like you know … a new MAT project type or perhaps just new kind of AI map generator node. You give it a prompt like say “Aged red brick wall with cracks. Random seed 78623. Seamless. Color, normal, height and AO outputs” etc. It is clear that whatever you do there is just no escape from generative AI anyways. It is taking over the world so we might as well just start getting used to it…

Any other big ideas anyone? :wink: