I have 2 Blueprints called BP_CouchSet1 and BP_CouchSet2, both these BP occupy the same space and both blueprints have a number of static meshes like couches, lights. When they player starts BPCouchset1 is visible and BP_CouchSet2 is hidden. The problem is the collisions for BP_CouchSet2 and all the components are still enabled, even when it is hidden, so the player cannot walk around BP_CouchSet1 because the collisions from the hidden BP_CouchSet2 is still enabled. I’ve gone into BP_CouchSet2 and looked under collisions for every Static Mesh, must I choose custom collision and then what do I choose in the menu or is there some way I can code the entire BP and all its components to disable collisions when hidden?
When you set a couch to invis / vis, also use a “set collision enabled” node to toggle its collision on or off.
you can open the blueprint where you set the “couch set” as hidden, drag all the meshes you want to disable/enable collision to the blueprint editor and search for the node ‘set collision enabled’, on the dropdown list od the node select “no colision” to disable it, or “collision enabled” to enable it. Notice that you can plug all the meshes in a single ‘set collision enabled’ node.
as an alternative, you can move the entire actor underneath the level or someplace hidden.
the difference with this is that you have to remember the desired location, but it’s a simpler operation, so less chance for some annoying bug to pop up.
Thanks for the help.
Thanks for this. I thought maybe there was a easier way to do this where I could disable collision for BP in one step as I have alot of components in the BP. I’ll do it the way you showed above, thanks alot for the help.
Nice one, might try this, thanks
I tried this approach and the scene broke. I think I had too many static meshes. I tried disabling all the collisions on the static meshes then made a box collision to place over the bigger static meshes and tried to hide that when other BP is visible but cant get it right. Is there any way to Turn off Collision for entire BP when hidden without having to disable collisions for every static mesh? Any help would be great thanks
Sorry for the necro post, but umm… you should look into instanced static meshes inside blueprint actors… You can have the same instanced static mesh repeated all over your blueprint, or map, and if you do something to it, like change visibility, change collisions, it will apply to all of them instantly… the performance is amazing too!
Thanks for the help, much appreciated
If you have a lot of meshes, you can try the get all Children from the Default Scene Root, then do a Foreach. This has the advantage of being clean and not requiring you to individually select each mesh. This is particularly useful if you’re setting up a parent class, that may not know what meshes there are.
Thanks, appreciated
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.