As of 5.0, if I have an Actor with an Instanced Static Mesh, when I place the actor in a level, and click it, instances inside of it are selected instead. Prior to 5.0, behavior was to select the whole Actor. Is there a way to do that now?
It makes working with instances in an actor difficult otherwise.
For example, these berries are one actor, but I can’t select the actor
True, but in practice that becomes very tedious. Every time you want to select it you have to search and maybe there are 20 of similar name. Clicking the actor seems like proper behavior.
Also sometimes that doesn’t happen. Sometimes instances aren’t clickable, and I’ve seen no indication as to why.
We noticed the same issues when artists were complaining about this, and we looked in the code submissions as it seem this was an intentional effort to provide extra functionality to selecting/manipulating staticmesh instances without having to add an extra selection mode.
This is more of an annoyance however, as other components in actors do not work this way and select the main actor as most intend. With actors made up entirely of instance staticmesh component + their instances, they become are harder to select in the viewport, as their details panel properties only show transform node info without the parent actor name even being referenced, and as well upon selecting the ISM component, the parent actor does not get highlighted in the outliner. In scenes with thousands of actors, users got frustrated as the have to resort to finding the actor manually in the outliner to select it. We had to resort to adding a “Selectable” billboard component to our base class above the actor to help select them in editor.
Most artists that I work with expressed that they liked the 4.X functionality, and would have appreciated a way to opt into a selection mode for instance static mesh components, rather than being forced into it.
Actually, upon further investigation you can disable the setting in Project Settings > Editor> Level Editor : Enable viewport static mesh instance selection
And there’s a cvar for it: TypedElements.EnableViewportSMInstanceSelection
You can use @BHVRBParillo 's method. Or you can open
YourProject/Config/DefaultEditor.ini, then add [/Script/UnrealEd.LevelEditorProjectSettins]TypedElements.EnableViewportSMInstanceSelection=False.
Also, you can type the following console command in editor:
TypedElements.EnableViewportSMInstanceSelection 0
This can be easily set in C++ Code auto CVar = IConsoleManager::Get().FindConsoleVariable(TypedElements.EnableViewportSMInstanceSelection) CVar->Set(0)
Hi, There’s a couple of new flags in the PrimitiveComponent which the ISMC subclasses from - bHasPerInstanceHitProxies and bSelectable - I don’t think you can access them from BP though, but from C++ you can and turn them on or off