Tick event is not firing in the player character class in ue5 blueprints

I m developing a open world game and my in my character blueprint tick event is not firing for some reason. I wrote

PrimaryActorTick.bCanEverTick = true;
SetActorTickEnabled(true);

in the c++ file but that didn’t help. Then I checked the class details panel and Start with Tick Enabled was already on. Lastly I added after beginplay Set Actor Tick Enabled but this didn’t fix the issue as well. Is there anyway that I didn’t already tried? Can anyone help me to solve this problem?

1 Like

Very bizarre. Gonna spitball some ideas.

  1. Is your game paused?
  2. Do you have your player character already in the level when viewed in the editor? (Should be no)
  3. Do you have any custom components that perhaps is turning off ticks?
  4. Did you forget to update the DefaultPawnClass in your GameMode class (and set the GameMode class as well in your world settingss)?

I m afraid to say:

1- No, my game is not paused.
2- No, my player character wasn’t already in the level when viewed in the editor.
3- I have checked again and no there is no custom components that is turning off ticks.
4- I didn’t forget to update the DefaultPawnClass in my GameMode class.

I checked, only my main character’s event tick function does not work. And I had not used event ticks so far to avoid performance loss. It did not work when I first had to use it. The reason I use event tick is that I am currently developing a climbing system and in that system after I start climbing, I use event ticks to stick my character to the surface I climbed every second by using a line trace. If there is a way to develop the system I explained above without using event tick, you can help me with this too. Because I do not use the event tick function for anything else.

I’m afraid I’m out of ideas. This is indeed very bizarre. It’s usually more difficult to stop tick than to enable it.

You can work around it with a Timer. But that works on a delay. Looks like that may be acceptable for your use case. The problem is that I’m worried your project is corrupted somehow if ticks aren’t working.

Did you try creating a new project and see if the player character’s tick event works?

Something else you can try is to run your game locally in the editor. Alt-Tab or press F11 to get your mouse back and then select your character in the Outliner tab while the game is running. You can verify if the checkbox for tick is enabled or not. You could also put a breakpoint in SetActorTickEnabled after though you may get a lot of hits if you have a lot of actors. Might be worth a try to see if anything is disabling the ticks. You could enable that breakpoint after BeginPlay is hit with a separate breakpoint to cut things down.

On a sidenote, where did you put this?

PrimaryActorTick.bCanEverTick = true;
SetActorTickEnabled(true);

Is it in the default constructor?