Announcement

Collapse
No announcement yet.

Actor tag vs gameplay tag

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [EDITOR] Actor tag vs gameplay tag

    A blueprint actor has a tags input array field in its class defaults, but it's very unclear if this is the same as a gameplay tag or not.

    The reason it's unclear is because when you click in that item input field, you can just type away anything you like:

    Click image for larger version

Name:	1.png
Views:	103
Size:	12.2 KB
ID:	1775431

    However, if you add a public variable that's a gameplay tag array, and go to edit it below the world outliner, the UI suddenly looks like this:

    Click image for larger version

Name:	2.png
Views:	69
Size:	23.3 KB
ID:	1775432

    This second UI is obviously better because there's no question what goes into that field.

    So are actor tags different from gameplay tags? (And if so why?)

    And if not, they is the UI different? (It's very inconsistent and confusing to a new user.)

    #2
    Gameplay Tags is a plugin built for the Paragon game that later went public for engine users.

    It's not the same as regular tags.
    | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

    Comment


      #3
      Old actor tags or component tags are just strings. Unsafe to use (like any other string field where changing value often leads to bugs) and providing no features. These tag fields are just dinosaurs from the bygone era. Generally, avoid that.

      Gameplay tags are great, stored in the "central location", in .ini files. And once a tag is added, you can access it anywhere in the engine. UI doesn't allow to simply change a name (preventing bugs), although there's no easy way to rename used gameplay tags, sadly.

      Gameplay tags support hierarchy, a tree of tags. Extremely useful thing. Just read docs and embrace it

      https://www.unrealengine.com/en-US/t...content-in-ue4
      https://docs.unrealengine.com/en-US/...ags/index.html

      Originally posted by BrUnO XaVIeR View Post
      Gameplay Tags is a plugin built for the Paragon game that later went public for engine users.

      It's not the same as regular tags.
      More precisely, it was probably added for the Gameplay Ability system - initially developed for Paragon.
      https://docs.unrealengine.com/en-US/...tem/index.html

      Comment


        #4
        Thanks for the explanations!

        So if all of these "actor has tag" and other nodes just operate on strings, are gameplay tags backwards compatiable? If I ask for all actors with a certain tag, can I feed it a family level tag instead of a branch?

        I'm planning on making my own GAS (because I don't need all features of it and I want turn based), and attach a lot of effects as components on my pawns. Are there nodes which allow me to get all components with tags of a certain family?

        Originally posted by Moth Doctor View Post
        just strings. Unsafe to use (like any other string field where changing value often leads to bugs) and providing no features.
        Yes. It's 2020 and Unreal still loads levels using strings... that blows my mind. How is that even allowed in this day and age?

        Comment


          #5
          Originally posted by eobet View Post
          So if all of these "actor has tag" and other nodes just operate on strings, are gameplay tags backwards compatiable? If I ask for all actors with a certain tag, can I feed it a family level tag instead of a branch?
          I wouldn't use like it, it's hacking. Gameplay Tags feature doesn't know or doesn't care what stored in the old-style fields. Add simple Actor Component with Gameplay Tag or Gameplay Tag Container variable and set your actor-specific tag there

          Originally posted by eobet View Post
          Yes. It's 2020 and Unreal still loads levels using strings... that blows my mind. How is that even allowed in this day and age?
          Dunno, I'm referencing levels by TSoftObjectPtr<UWorld>. But I see now that in blueprint there's only soft reference version available for Load Level Instance (creating a new level instance at given position), not for regular "Load Stream Level". Nothing changed here since 4.0 then...

          Comment

          Working...
          X