///<summary>Returns an FString representation of a gameplay tag for debugging purposes.</summary>
 ///<remarks>
 ///@param GameplayTag   The tag to get the debug string from.
 ///</remarks>
 public static string GetDebugStringFromGameplayTag(GameplayTag GameplayTag) =>
 BlueprintGameplayTagLibrary_methods.GetDebugStringFromGameplayTag_method.Invoke(GameplayTag);
 ///<summary>
 ///Check if the specified tag container has the specified tag, using the specified tag matching types
 ///@
 ///</summary>
 ///<remarks>
 ///param TagContainerInterface         An Interface to a tag container
 ///@param Tag                                           Tag to check for in the container
 ///
 ///@return True if the container has the specified tag, false if it does not
 ///</remarks>
 public static bool DoesTagAssetInterfaceHaveTag(byte TagContainerInterface /*TODO: interface TScriptInterface */, GameplayTag Tag) =>
 BlueprintGameplayTagLibrary_methods.DoesTagAssetInterfaceHaveTag_method.Invoke(TagContainerInterface, Tag);
 ///<summary>Returns true if the values are equal (A == B)</summary>
 public static bool EqualEqual_GameplayTag(GameplayTag A, GameplayTag B) =>
 BlueprintGameplayTagLibrary_methods.EqualEqual_GameplayTag_method.Invoke(A, B);
 ///<summary>
 ///Remove a single tag from the passed in tag container, returns true if found
 ///@
 ///</summary>
 ///<remarks>
 ///param InOutTagContainer             The container that will be appended too.
 ///@param Tag                                   The tag to add to the container
 ///</remarks>
 public static bool RemoveGameplayTag(GameplayTagContainer TagContainer, GameplayTag Tag) =>
 BlueprintGameplayTagLibrary_methods.RemoveGameplayTag_method.Invoke(TagContainer, Tag);
 ///<summary>
 ///Adds a single tag to the passed in tag container
 ///@
 ///</summary>
 ///<remarks>
 ///param InOutTagContainer             The container that will be appended too.
 ///@param Tag                                   The tag to add to the container
 ///</remarks>
 public static void AddGameplayTag(GameplayTagContainer TagContainer, GameplayTag Tag) =>
 BlueprintGameplayTagLibrary_methods.AddGameplayTag_method.Invoke(TagContainer, Tag);
 ///<summary>
 ///Determine if TagOne matches against TagTwo
 ///@
 ///</summary>
 ///<remarks>
 ///param TagOne                        Tag to check for match
 ///@param TagTwo                        Tag to check match against
 ///@param bExactMatch           If true, the tag has to be exactly present, if false then TagOne will include it's parent tags while matching
 ///
 ///@return True if TagOne matches TagTwo
 ///</remarks>
 public static bool MatchesTag(GameplayTag TagOne, GameplayTag TagTwo, bool bExactMatch) =>
 BlueprintGameplayTagLibrary_methods.MatchesTag_method.Invoke(TagOne, TagTwo, bExactMatch);
 ///<summary>Checks if a gameplay tag's name and a string are not equal to one another</summary>
 public static bool NotEqual_TagTag(GameplayTag A, string B) =>
 BlueprintGameplayTagLibrary_methods.NotEqual_TagTag_method.Invoke(A, B);
 ///<summary>Creates a literal FGameplayTag</summary>
 public static GameplayTag MakeLiteralGameplayTag(GameplayTag Value) =>
 BlueprintGameplayTagLibrary_methods.MakeLiteralGameplayTag_method.Invoke(Value);
 ///<summary>
 ///Determine if TagOne matches against any tag in OtherContainer
 ///@
 ///</summary>
 ///<remarks>
 ///param TagOne                        Tag to check for match
 ///@param OtherContainer        Container to check against.
 ///@param bExactMatch           If true, the tag has to be exactly present, if false then TagOne will include it's parent tags while matching
 ///
 ///@return True if TagOne matches any tags explicitly present in OtherContainer
 ///</remarks>
 public static bool MatchesAnyTags(GameplayTag TagOne, GameplayTagContainer OtherContainer, bool bExactMatch) =>
 BlueprintGameplayTagLibrary_methods.MatchesAnyTags_method.Invoke(TagOne, OtherContainer, bExactMatch);
 ///<summary>Creates a FGameplayTagContainer containing a single tag</summary>
 public static GameplayTagContainer MakeGameplayTagContainerFromTag(GameplayTag SingleTag) =>
 BlueprintGameplayTagLibrary_methods.MakeGameplayTagContainerFromTag_method.Invoke(SingleTag);
 ///<summary>Returns true if the passed in gameplay tag is non-null</summary>
 public static bool IsGameplayTagValid(GameplayTag GameplayTag) =>
 BlueprintGameplayTagLibrary_methods.IsGameplayTagValid_method.Invoke(GameplayTag);
 ///<summary>
 ///Check if the tag container has the specified tag
 ///@
 ///</summary>
 ///<remarks>
 ///param TagContainer                  Container to check for the tag
 ///@param Tag                                   Tag to check for in the container
 ///@param bExactMatch                   If true, the tag has to be exactly present, if false then TagContainer will include it's parent tags while matching
 ///
 ///@return True if the container has the specified tag, false if it does not
 ///</remarks>
 public static bool HasTag(GameplayTagContainer TagContainer, GameplayTag Tag, bool bExactMatch) =>
 BlueprintGameplayTagLibrary_methods.HasTag_method.Invoke(TagContainer, Tag, bExactMatch);
 ///<summary>Returns FName of this tag</summary>
 public static Name GetTagName(GameplayTag GameplayTag) =>
 BlueprintGameplayTagLibrary_methods.GetTagName_method.Invoke(GameplayTag);
 ///<summary>
 ///Check if the asset has a gameplay tag that matches against the specified tag (expands to include parents of asset tags)
 ///@
 ///</summary>
 ///<remarks>
 ///param TagToCheck    Tag to check for a match
 ///
 ///@return True if the asset has a gameplay tag that matches, false if not
 ///</remarks>
 public bool HasMatchingGameplayTag(GameplayTag TagToCheck) =>
 GameplayTagAssetInterface_methods.HasMatchingGameplayTag_method.Invoke(ObjPointer, TagToCheck);