The first/primary FSM is always FSM as I know which FSM im typing in when I get an FSM variable
States get named in lowercases and without spaces, and attempted to be truncated to fit in the states default width. usually what its doing or checking for. isvr loadmenu haskey
events are less standard, the important part is in the state, events might not even make sense until you look at the state, I do tend to use 00 and 01 a lot for binary choices like has key a lot, and that got started with using a lot of 00-09 as goto events for big fsms that I didn't want dozens of events on. How many coins - 1-9, then to a state for how many medicines - 1-9. instead of using a yes and a no as extra states, I can just use the same 00 and 01 that's set up. the events on interactables always start with a click event. if a state waits for non user input, the state is go.(globalgo is used when a state needs trigger from another FSM). But other than these and a few random other cases, events are pretty generic in the same form as the states, lowercase and spaceless. ishit, getcoin, openchest.
variables. globals are prefixed by global. globalplayerarray, globalparty1array. normal vars are lowercase descriptions. health, money, blah. I usually also have tempint and tempobj in there too for "get int, convert it to tempstr, set tempstr to guitext" type situations. npcs and standalone objects usually have myhealth, mystatus, some variables are postfixed with type like the temps when I have multiples that have different types, like playerobj and playerstr. that's all I can think of within the context of the post that makes me weird, but I technally have a completely unorthodox system for everything related to unity.