RealDocs

AAIController::OnGameplayTaskResourcesClaimed

function AIModule Since 4.12
#include "AIController.h"
Access: public Specifiers: virtualUFUNCTIONAIMODULE_API

Description

Called by the GameplayTasks component whenever resource ownership changes on this controller. Override to react to tasks locking or releasing named AI resources such as movement or logic.

Caveats & Gotchas

  • `FGameplayResourceSet` is a bitmask over up to 16 named resources registered with `UGameplayTaskResource`. You must register your resource types before the first task runs, typically in `PostInitializeComponents`.
  • This method is bound via `UFUNCTION()` for internal delegate use — it is not Blueprint-callable despite having the macro. The UHT-generated code requires the `GameplayTasks` module in your build dependencies.

Signature

AIMODULE_API virtual void OnGameplayTaskResourcesClaimed(FGameplayResourceSet NewlyClaimed, FGameplayResourceSet FreshlyReleased);

Parameters

Name Type Description Default
NewlyClaimed FGameplayResourceSet Bitmask of resource IDs that were just locked by an activating task.
FreshlyReleased FGameplayResourceSet Bitmask of resource IDs that were just freed by a deactivating task.

Return Type

void

Example

Log resource changes for AI debugging C++
void AMyAIController::OnGameplayTaskResourcesClaimed(FGameplayResourceSet NewlyClaimed, FGameplayResourceSet FreshlyReleased)
{
	Super::OnGameplayTaskResourcesClaimed(NewlyClaimed, FreshlyReleased);
	if (NewlyClaimed.HasID(UMyMovementResource::GetResourceID()))
	{
		// A task just locked movement — stop any pending move requests
		StopMovement();
	}
}

Version History

Introduced in: 4.12

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.