It all depends on how you set up your games really. I have a very specific setup that enables the use of a LOT of global macros that require sheets for all my PCs, NPCs and Monsters (mooks can share the same sheet). Here is an example of a typical token/sheet set up for me: Create sheet for monster and input stats as needed. Create token and upload, set represents to the monster sheet. Run the following API commands (annotated for your convenience ;) ) !token-mod --set bar1_link|"hitpoints" bar2_value|=0 bar3_value|=0 bar3_max| light_radius|=?{Light?|10} light_dimradius|=?{Dim from|-10} --on light_hassight <--sets the tokens HP and 0's bar 2 (used for temp damage bonuses) and bar 3 (used for temp att bonuses) and allows quick setting of light radii and 'has sight' check box (my default vision is 10/-10 to give that 'groping in the dark' feeling for non-dark-vision creatures. !token-mod --set bar1_link| bar2_link| bar3_link| <-- removes all linked attributes for mooks (bar2 and 3 just a fail safe for updating an old token) !setattr --sel --silent --BLOODCOLOR|?{Blood Colour?|Default (Red),DEFAULT|Off,OFF|Other,?{Colour|Black,000000|Green,008000|Blue,7F7FFF|Purple,800080|White,FFFFFF|Other,?{Hex Code&#125;}} --USECOLOR|YES <--allows me to quickly assign blood splatter colour if needed (uses ChatSetAtrr and used by Aura/TintHealthColor) !default-token <--sets the token to be the default token on the sheet it represents (Standalone script but TokenMod can also do this now too) I can then set the token actions up which are a combination of quickly customisable google sheet based formulas for weapons or a pet project spell database which again uses formulas to create output in my preferred format (PowerCards). For spells, such as a summoning spell to keep this on topic it is as simple as the following (again annotated for ease of understanding): !power {{ --format|spell --charid|@{selected|character_id} --emote|@{selected|token_name} casts a spell! --name|Summon Monster III --leftsub|Bard, Cleric, Sorcerer, Wizard (3) --rightsub|Conjuration --Components|V, S, F/DF --Casting Time|1 Round --Range|Close: [[d1*25+5*floor(@{selected|casterlevel}/2)]] feet. --Duration|[[@{selected|casterlevel}]] Rounds --Target/Area|One or more summoned creatures, no two of which can be more than 30 ft. apart --Effect|The caster summons a ?{summon?|Celestial black bear|Celestial bison|Celestial dire badger|Celestial hippogriff|Small Air Elemental|Small Earth Elemental|Small Fire Elemental|Small Water Elemental|Fiendish ape|Fiendish dire weasel|Hell hound|Fiendish constrictor|Fiendish boar|Fiendish dire bat|Fiendish monstrous centipede, Huge|Fiendish crocodile|Dretch|Fiendish viper, Large|Fiendish wolverine} from another plane to do their bidding. --Save?|None --Resistance|No }} <-- the spells powercard, automatic output (minor tweaks) from my database list !summon ?{summon?} <-- a call to the summon script linked to in my previous post which uses the result of the query asked in the powercard to determine what to summon. !playsound genericspell <-- a snippet script I have to manage incidental sounds, although this could be easily replaced by a command for Roll20AudioMaster Feet up and let the carnage commence! All of this takes me less than 5 minutes per sheet, although it took me many incarnations to hone it to the (semi)perfect model I have now. It could be streamlined further... even more so once certain Unicorn scripts are released... but there isn't really a need to fix what isn't broken ;) It seems like a chore at first but once you take the time to understand the scripts and the VTT's ways you can quickly reduce your prep time to equal that of a normal TT session, if not faster!