I need support right now 😭

So my boyfriend and I have been together for two years. He’s had a rough family life and a lot of stuff going on. Two days ago he was completely fine, laughing, having fun, being Himself. But today I went by to see him while he was at a buddy’s house. He wouldn’t hug me, wouldn’t look at me, wouldn’t let me touch him. He started crying and told me I need to break up with him. He said he needs to leave, get out of the state and go back to where he’s from which is across the country. He said he doesn’t feel like he can be here anymore. He kept telling me “ I’m not good for you. You need to leave me” and when I broke down and told him I wouldn’t he said “u have to, it’s gonna happen either way” and I kept telling him I wasnt leaving bc we’re in this for life (we’re engaged by the way forgot to mention that) and he walked me out to my car and gave me a hug and kissed me and told me to stop crying bc everything was going to be alright, all while in the process of fiddling with my ring. He said all the usual things “drive safe text me when u get to work” and then while at work I was texting him and telling him I love him and I’m here for him, his response was “idk what to say” and then he would just stop replying. His best friends said he told them what happened but they don’t know what to do about it. He’s being short with me now and saying things to make me hurt, but I can’t leave him. We’ve built up so much together and I just can’t. He’s such a great guy and we always have so much fun together. Idk what to do...