I’m working on a perk system where I want to present the player with 3 randomly selected perks from a list of all available perks and have them populate the UI after the player levels up, where they will then get to choose one. The end goal is to have these displayed to the player as buttons, and the player would click on the one they want. Certain perks will be removed from the list after being selected (activated), and other perks will be upgradeable and unlockable allowing them to be selected up to 3 or 4 times before being removed off of the list, or having certain criteria to be met before being added to the list. i’m unsure where to start with this, here are the thoughts I have so far, but any input will be appreciated.
Creating each perk as an Enum element and choosing 3 random Enum elements (somehow?) from the list and passing the info to the 3, waiting, buttons (using Structs where necessary), then activating these perks within the character blueprint from inside the perk selection/level up UI. Using a Struct here will let me pass on additional info on whether the perk is upgradeable or not
Creating each perk as its own button, creating all the perk buttons and setting them to invisible and choosing 3 random buttons to appear in the UI visibly (this seems inefficient)
I’ve seen documentation on implementing an ability system through C++ but I think it will be overkill for a simple random perk system
Also, do you think the perks should be on the main character, or on a separate blueprint?
Thanks in advance