Unreal's equivalent to Unity's LateUpdate (Blueprints)

So I had this problem and am posting the answer to save others time…

We made a very custom door and blueprint. The door enforces limits (like PhysicsConstraint) and has very particular door grab and move scripting.

The problem was that when the player runs into the door the player’s physics pushes the door, and our script enforces limits on the soor hinge.
Our EventTick was getting called before the physics updated the door in our Player so the door would vibrate at the limits. (Ugly)

In Unity we solved this by enforcing limits in LateUpdate.

The similar functionality in Unreal is the TickGroup.
The enumaration ETickingGroup is the various times in the processing of a game tick that EventTick gets called for a given Actor.
It is not available in blueprints so I used our catch-all C++ class tdlBlueprintHelpers with static blueprint calls to implement it.

In UtdlBlueprintHelpers.h

	/**
	* Set the Actor's tick group.  See ETickingGroup.   TG_PostUpdateWork is number 8 and is equivalent to Untiy's LateUpdate (sort of)
	*/
	UFUNCTION(BlueprintCallable, Category = TDLHelpers)
		static void SetTickGroup(AActor * actor, int32 tickGroupEnumIndex = 8);

And the cpp

/**
* Set the Actor's tick group which is when it gets it's Tick event called.  See the C++ manuals.
**/
void UtdlBlueprintHelpers::SetTickGroup(AActor * actor, int32 tickGroupEnumIndex)
{
	if (actor == NULL)
	{
		return;
	}
	actor->SetTickGroup((ETickingGroup)tickGroupEnumIndex);
}

Then in the Event BeginPlay you call it.

And now our doors don’t vibrate!

Can you separate quastion/issue with answer?

Clean this up, please. People need to find answers fast here. Move answer to the answer part and accept it, please.

And that’s why Unreal forums / answer hub needs a moderator to make people’s life easier.

Thanks for making this, I was looking into it and couldn’t find any direct answers
How were you able to figure it out? (documentation?)

Bit of a late answer but Blueprints DO actually have the ability to set the tick group. The node is called “Set Tick Group” but it can’t be called in the event graph. It can only be called from the construction script.

calling it from the event graph works in 4.21 preview at least. probably works in other versions too but I haven’t checked.