Affective computing aims to create smart systems able to interact emotionally with users. For effective affective computing experiences, emotions should be detected accurately. The emotion influences appear in all the modalities of humans, such as the facial expression, voice, and body language, as well as in the different bio-parameters of the agents, such as the electro-dermal activity (EDA), the respiration patterns, the skin conductance, and the temperature as well as the brainwaves, which is called electroencephalography (EEG). This review provides an overview of the emotion recognition process, its methodology, and methods. It also explains the EEG-based emotion recognition as an example of emotion recognition methods demonstrating the required steps starting from capturing the EEG signals during the emotion elicitation process, then feature extraction using different techniques, such as empirical mode decomposition technique (EMD) and variational mode decomposition technique (VMD). Finally, emotion classification using different classifiers including the support vector machine (SVM) and deep neural network (DNN) is also highlighted.