void BeginUsed() and void EndUsed()
BeginUsed() registers the APooledCharacter instance to all subsystems that need to know what objects are being used. An example of this would be the SavingSubsystem, which needs a reference to the object so that it gets the data that needs to be saved.
EndUsed() does the opposite; it delists the APooledCharacter instance from all the subsystems that may call to it. Afterwards, it either clears the data from pooled instances via ClearDataInBP() if it's a pooled instance or outright destorys it if it isn't pooled.
No Comments