Why is there no way to override Instanced Mesh Components and Spline Mesh Components?

[I posted this in the UE4 forum as well.][1] I’m posting it here as well to hopefully get a response. :slight_smile:

This is using Unreal Tournament’s Editor, which is currently version 4.12.


Allright, so these are 2 nodes that I’ve been using frequently and there seems to be a huge limitation. They cannot be overridden from the viewport’s “Details” panel. You can override them easily enough from the blueprint, but this is not useful to me.

For example, if you drop a plain jane static mesh into the viewport, you can therefore override its material from the viewport’s “Details” panel. Easy.

If you want to accomplish this via blueprints, you must use an “Editable Variable”. However, for spline mesh components and instanced mesh components, this appears to be impossible (see screenshot above).

I’m curious if there’s a way to override material and mesh from the viewport’s details panel. The reason for this is to give the end user a very easy way to override these things.

Think about this from a mesh pack author’s point of view. I, the a mesh pack I’m working on, would like to give others an easy way to override these things from the viewport’s detail’s panel, due to its inherent simplicity and ease of access. Since I’m unable to do this currently, if I want to allow others to override a spline mesh and its materials, I’ll have to include tutorials on how to duplicate an entire blueprint, and instructions for where exactly to modify the corresponding nodes. Not an elegant solution, imo. Hopefully you can see the problem.

So, is there a reason why overriding “spline mesh components” and “static mesh instance components” is not possible via “Editable variables”? Is there a plan to add this functionality at a later date?



Because strictly/technically speaking, Neither a static mesh, nor a
Instanced Static Mesh actually exist in and of themselves in the game.
(spline mesh component is a subobject of static mesh component).

You do have Static Meshes, Skeletal Meshes, etc. Which are entities in and of themselves in UE4,
that you can drag and drop into a level. But they don’t exist in the level as an entity in their own right.
In truth, it’s really a static mesh actor that the editor creates for you,
when you drop it in the viewport, and the static mesh is attached to that.

But there is no entity that is called a Spline Mesh because a Spline Mesh component is a subclass of/subobject of
Static Mesh Component, and both components, require that a static mesh be applied to them, with a Instanced Static Mesh Component,
has to be based off a Static Mesh Component at some point, which again, has to have a static mesh applied to it.
So we are right back to a static mesh, now matter how you go about it.

The way I did what your after, was to recoginize the above, then simply show in the details panel of ,
a target Static Mesh (actually an array of Static Meshes, with additional parameters, set up as a structure),
that the user would then drag and drop the static mesh onto, and from there, take that and
apply it to the Spline Mesh component (For I also made the materials, and material parameters available).

Hope this helps.



Thanks for the explanation. I’ll be honest, I didn’t understand a lot of what you said at first, but I after thinking about it more, I realized I was going about this the completely wrong way. Your explanation lead me to the answer. :slight_smile:

Here is the solution I came up with thanks to your explanation.

[link text][1]

Also, your utility is beastly. Thanks for letting me know about it. If I have a need for it in the future, I’ll definitely consider purchasing.


More than welcome, and yes, that’s exactly how to go about it, and still keep the details pane as the focal point for changes.

I’m not really defending using the Details Pane as a user interface. By which I mean, if the number of parameters for the “blueprint” is not all that large, then it works fine. Yet, I have ran into so many places with , where I was gnashing my teeth (I mean it has easily over 95 parameters, to allow one to be able to alter the way that it works. Some very important, some not so important (depending on how one is using the product). Yet, I looked at putting together something using Slate, and the first thing that nailed me on that was…

This is all “hard coded” (for the binding to variables), as well as hard-coded, for the “object/widget” that is going to be used, etc.

I was looking at that, and went, “there is no way, i’m doing this!” lol Yet I’m still going to use Slate, to create a interface for use with . I’m just going to do it as a text based system, where by I can describe in a text file, how I want the user interface to look. Pull the file(s) in, and then dynamically generate the “window” etc. Which I’ll probably turn into a product as well. Yet it’s late, and I’m tired, and rambling! lol

Thank you for your kind words concerning , and have a great day!