1. A computer implemented method, comprising: receiving an indication of a user interaction with a song while present in a virtual environment, the virtual environment comprising a plurality of avatars and a plurality of objects capable of being interacted with the plurality of avatars; wherein the user is represented by an avatar in the virtual environment; determining, from the received indication, a user preference for the song; determining a current situational context for the avatar within the virtual environment, wherein the current situational context comprises at least one of a plurality of characteristics comprising: (i) a location of the avatar within the virtual environment, (ii) one or more interactions performed by the avatar with respect to other virtual objects within the virtual environment, and (iii) one or more avatar companions of the user within the virtual environment, wherein the determining is performed by an application configured to determine at least two of the characteristics; and storing, on a computer readable storage medium, the user preference for the song together with the current situational context in a searchable data structure configured for generating playlists.