Ok so it sounds like you guys are at a good age where taking the next step soon would make sense.
I understand that you’re nervous, as it can be a daunting discussion to have when you’re not sure where he stands. But it sounds like a necessary and important practice in open communication, since you both should discuss where the relationship is going at this point.
Like PP said, take some time to reflect on exactly what you would like to happen and decide on a timeline for those things in your mind. Then, when you’re ready and there’s a good opportunity where you are both relaxed and have time to discuss it, tell him you’d love to talk about the future since you’re so happy with how things are going. Ask him about his 5 year plan and see what he says and go from there.
When you get into the moving in and engagement/marriage discussion, ask him how he feels about it and what he thinks would be ideal.
Note- if he freaks out or says he has doubts about the relationship or “marriage is just a piece of paper” etc, that is a red flag that you will need to explore further.
If he says he has doubts, ask him to explain. (If he really has doubts, he should not wait until 3 years in to bring that up, by the way. If he uses this as a reason to not get married/delay engagement, ask him why his “doubts” were never a problem until just now when you’re discussing the future).
Open and honest communication is the goal here to get a better understanding of what you both want.
Once he says his piece, let him know what you would like to see happen with an estimated timeline and then ask him for his opinion on that. If he needs some time to process, give him some time and decide on a future time to discuss it again in a few days.
** It is okay if it doesn’t go perfectly. It sounds like this will be the first of many serious discussions that you will be having, so practice makes perfect! If he is SUPER AGAINST the entire conversation and shuts down, then that is not acceptable and you will know that that is a red flag. BUt it is okay if he needs some time to figure it out in his mind as well as long as he comes back and gets back to you.
Hope this helps!