Check something every frame

Hello there, a few weeks back I posted a question here about tagging static meshes to make them “climbable”, which works perfectly. Blueprint looks like this:

Currently the character can climb walls with the tag, but there is a tiny bug now. We have certain walls without the tag which have a smaller component over them tagged climbable. Like this:

But there is this bug which you can see, even though the character reaches the end of the climbable wall, it keeps climbing the non-climbable one.

I think I have to keep checking for tags every frame. If anyone has any other simple solutions (since we have to be done with this game by next friday), please don’t hesitate to come up with ideas. Anything is appreciated :slight_smile:

Every tick would be brute force inefficient but could work well, not very elegant but if time is of the essence… It’s not a big deal to tick something anyway unless you tick hundreds of actors unnecessarily.

If the vines cannot detect collision, add box collision to the pertinent area. We enter the box → we can climb, we leave the box, we fall down.

This could be in the player BP instead.


This can be simplified and optimised even further by making a specialised static mesh component that shows the vines and handles player’s climbable collision on a dedicated channel. You then add that component to any actor that needs it. More upfront work now, a breeze to work with later on.

so i just make a seperate bp of this specific wall and add it into the scene, right?

You did not explain the level design pipeline, so I’ve assumed this is an actor you add to the already existing level geometry:

This way you do not need to tag anything specifically. We drop an actor that already has all the necessary elements and mechanics and there it is. And the screenshot reflects of how such actor could work.

The Wall static mesh may not even be needed if it already exists within the level. Same goes for the collision box, perhaps the vines can already utilise collision channels properly.


This can be simplified and optimised even further by making a specialised static mesh component that shows the vines and handles player’s climbable collision on a dedicated channel. You then add that component to any actor that needs it. More upfront work now, a breeze to work with later on.

If you refer to this, it’s another story. Hard to recommend it in light of:

since we have to be done with this game by next friday

You may have more pressing matters to attend to than developing an entire system from scratch for the 2nd time :innocent:

That is actually just a static mesh component which is just tagged. Even I did not know what that was tbf, the level designers worked with this level. But yea I am actually working with bugs and minor fixes because I am done with my major tasks ie climbing, and shooting. :smile:

Even I did not know what that was tbf, the level designers worked with this level. But yea I am actually working with bugs and minor fixes because I am done with my major tasks ie climbing, and shooting.

In that case, consider this quick and level design agnostic hack:

Give the player a small overlapping capsule in front. Ideally this would use a dedicated collision channel but it could work as is.

This stops climbing overall, player climbs nothing.

This is an idea, not a working solution. You need to implement it into the system you have and I know nothing about.

For example, you’re using some kind of wall trace this would not even need…

If you need a suggestion of how to integrate something, we would need to understand how the underlying system works in the first place.

ah okay makes sense, imma see what i can do with it. Thanks for the help, appreciate it. Have a nice day! :smile:

Also, these are wrong:

image

This would check whether the players themselves are climbable :smiley:

Oh yea I was tweaking them, to see if anything works or not.