How to make blueprintable tickable class with minimal performance loss

I can use C++ but avoid it. Set parent class makes event triggers. What is recommended? I’ll use it in actors, widgets, game modes and other blueprints that needs timers.

Why you need a separate Class for that? You can pretty much create a Timer anywhere you need when you need it (BP & C++). There is no benefit to wrap it in some other Object.

In case I understood it wrong please describe your Problem more acuratly.

Code/script reduction. I’ll reuse a lot of times. The ideia is make a chronometer class and create object chronometer ever needed.

UCLASS(Blueprintable, BlueprintType)
class YOURPROJECT_API UTickableObject : public UObject, public FTickableGameObject
{
GENERATED_BODY()

public:
	UFUNCTION(BlueprintImplementableEvent, meta = (DisplayName = "Tick"))
		void ReceiveTick(float DeltaSeconds);

	void Tick(float DeltaTime) override { ReceiveTick(DeltaTime); };
	bool IsTickable() const override { return true; };
	bool IsTickableInEditor() const override { return false; };
	bool IsTickableWhenPaused() const override { return false; };
	TStatId GetStatId() const override { return TStatId(); };
	UWorld* GetWorld() const override { return GetOuter()->GetWorld(); };
};

Compile, Create ne TickableObject BP, Add Tick, Profit. For timers you have a whole Manger that Manages Timers for you, there is still no need to create a separate Object just to Set a Timer :stuck_out_tongue_winking_eye:

Doesn’t work here. A think I need to make chronometer scripts in all tickable blueprints.

No you don´t you just need a reference to a Single Object that has the Chrono Functionality. You could create it in the Game Instance as example its easy to access from everywhere. Any Other Object that want to know something about it can get the info directly or bind itself to any Dispatcher/Delegates you have on that Object.