My advice would be to combine the Chat Menu and Macro Character tricks: <a href="https://app.roll20.net/forum/permalink/5927072/" rel="nofollow">https://app.roll20.net/forum/permalink/5927072/</a> <a href="https://app.roll20.net/forum/permalink/7605679/" rel="nofollow">https://app.roll20.net/forum/permalink/7605679/</a> You write a macro where all the attribute calls use @{selected|attribute_name_here} for each of your spells on the Attributes & Abilities tab of the Macro Character. Then you write a Chat Menu that includes all those spells. It is convenient to have the chat menu be the first Ability entry, and have it set to display as a token action. I write the chat menu with "/w gm " at the beginning, which allows me to copy/paste it to an npc and hide the menu from players when I roll it. When making a PC, I copy/paste the menu to the PC sheet as an Ability, change the "/w gm " to "/w character name ", and edit the entries of the menu to only show the spells that character knows. As they learn new things, I just edit the menu to add in whatever they have gained. It may take a bit to figure out how to set up your macros, but once you do, you only need to write them once using this method. I make extensive use of this in my Palladium Fantasy games, since there are Psionics, 5 varieties of spell magic, and 2 different types of symbol magic. I have a macro sheet for each type of magic/ability and another one for poisons. In a pinch, I can create a token, link it to the macro sheet, set the casting stats there, and use the full chat menu list to run a random encounter or something where I didn't specifically prepare the npc spell list before hand.