Collision stays after using in game "Set Max Draw Distance" of LOD of Rendering propery of ISM

It is not normal to be able to automatic hide ISM but its collision to be present!?!?

Hi Angel,

Are you hiding or unchecking visibility? What steps can I take to reproduce this on my end?


I am not either hiding or unchecking visibility.
Here is what I do:

  1. I create one blueprint actor (BA) containing one ISMC under Scene
    I have only two modified properties in this ISMC:
    a)Static Mesh is “1M_Cube” (from template, startercontent,etc.); b) “Collision Presets”->“BlockAll”;

  2. In game mode (runtime mode, procedural generating content) I
    create many BA and set “Set Max Draw
    Distance” (in LOD) to some value.

  3. When Pawn is moving and respective BA actors hides, their collision is
    staying and I can’t walk through
    them even they doesn’t show.

This is expected behavior. Max Draw Distance affects the rendering of an actor, not the collision. To affect collision, you will need to change it via blueprints or c++.

Its mean that I need to check on each Pawn move which BA actors are above this "Max Draw Distance " number? It is ridiculous. If I have 1m BA all my performance will go to that check!

Not necessarily. You can, by contrast, do a sphere collision around your player character that disables collision on end overlap with any actors that you wish, ignoring those that require persistent collision (if any). Then, when they overlap the player’s sphere again, return collision. This will allow you to control which actors have collision without having to depend on framerates to be able to do so.

Alternatively, you can, on a timer send out a sphere trace around the player to a specified distance and turn off any actors not within that sphere. If the sphere is large enough there is never a chance that an actor will not be caught within the sphere’s collision trace and as a timer it shouldn’t have a dramatic impact on performance because it is still not framerate dependent. Relying on tick is the least desirable option of several because it would not be optimized, so in the long term won’t be nearly as viable or performant as other options that would be less intensive.