Gameplay Tags for Unity

Gameplay Tags

Hey everyone,

I’d like to share with you the first package I plan to maintain, as I intend to use it in almost all my other projects. It’s my implementation of GameplayTags, inspired by Unreal Engine’s package.

For those interested, you can access the package here:
https://github.com/BandoWare/GameplayTags

Any questions and suggestions for improvements are extremely welcome.

Thank you!

1 Like

Very good!! I really recommend to use UI Toolkit to this, is easier to improve and make any change

1 Like

Thanks! You can be sure that I gonna improve it!

1 Like

thank you very much, it will be very useful to me, I hope you will keep it updated, is it possible that in the future you will integrate it into a larger system similar to GAS?

1 Like

i’ll keep updating it, and yes, i’m also working on a GAS for unity

1 Like

This is awesome. Looking forward to more updates on this.

Are you also planning to implement the GameplayMessageRouter plugin from the Lyra project? It’s an event system somewhat similar to Scriptable Object event channels in Unity, but instead of subscribing to scriptable objects, you subscribe to Gameplay Tags in Unreal. More info here.

At the moment, I’m only working on a ‘Tiny’ Gameplay Abilities system for single-player projects.

This is exactly what I need right now, thank you for sharing it with the community!

I’m actually working on a CRPG (like Baldur’s Gate) project, and characters just have too many features that I cant simply managed with enum or Unity’s built-in tag system, so what firstly came into my mind is an Unreal-like gameplay tag system for unity, and I cant believe it just appears right in front of me! :laughing:

Glad you found it helpful! Feel free to leave a star on GitHub to support the project. I’m a little busy right now, but I’ll return soon to add more features and tests to it.

I have created a system that builds upon the foundation of this system, but instead of using assembly definitions for tags, it uses a JSON file. I have also expanded it to allow for easy addition and removal of tags from the editor. If you find it useful, I can share these modifications with you. Additionally, I have developed my own ability system based on this gameplay tag system, but it is still in a prototype phase.

1 Like

That sounds great! I’d love to check it out, feel free to send it over!

I sent it to you via private message :wink:

I can’t seem to get this package to fully work. I should mention that I come from UE so some Unity workflows I don’t understand just yet.

I’ve defined my tags in a file called NativeGameplayTags.cs

using the example I have 3 tags

[assembly: GameplayTag("Event")]
[assembly: GameplayTag("Event.Fire")]
[assembly: GameplayTag("Event.Dash")]

When I attempt to edit the tags on an empty game object using the GameObjectGameplayTagContainer class the popup window lists my tags so I know they exist. However, when I attempt to use the AllGameplayTags class I get no static members. Is there something I need to manually do to get the code generation to run or have I messed up somewhere?

Be careful with assembly scope (.asmdf). The auto-generated code can only be used in the same assembly where the code like [assembly: GameplayTag("Event")] file was added.