I figure this is an important use case that many developers will ask about.
Is it possible to build an MMO style action bar with these goals in mind:
- 8 actions with key bindings 1, 2, 3, ... 8
- Each action represents a different spell (fire ball, arcane missiles, etc)
- The bar does not change when the player changes weapons
- The player can set which spell goes in which action slot
- I would strongly prefer to use the Weapon Component, since it has so many built-in features (projectiles, damage, VFX, ammo, spread, etc).
I am not quite sure how to do this with the current Core systems:
Option: 1 Weapon with 8 Abilities
Yes, I can have a single weapon with 8 abilities, but the problem is that each ability really needs to have its own projectile, damage, and VFX and other settings. My Fire Ball, for example, is going to be much different than my Magic Missiles. But currently, the Weapon Component only allows you to define a projectile, damage, VFX, etc for the entire weapon, not on a per ability basis.
Option: 8 Abilities Parented To The Player
In this option, I would just parent 8 abilities directly to the player without using a Weapon Component. The problem with this is that I lose all the nice built-in features of the Weapon Component (projectiles, VFX, etc). I would have to manually code all of this.
Option: 8 Weapons each with 1 Ability
In this case, each action slot would be a separate weapon with only a single ability. The problem with this is that only a single weapon can be equipped at a time, and only a single ability can be used at a time. I would have to figure out a way to switch weapons each time an action bar slot is pressed.
So I am not sure if there is a better way to achieve this or not. Please let me know if you have any suggestions. Thank you.