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; 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.