I need some serious advice.

Okay, so my fiancé and I have been together since 2013. We have 2 kids together (6 & 1). Ever since our son was like 3-4 years old, my fiancé has been a completely different person from the person I fell in love with in 2013. People change so i figured it was just that. But, I'm honestly starting to wonder if he even wants to be a dad anymore. He rarely helps out, when he does I have to ask 3-4 times, or when he wants something and is sucking up. He smokes pot and is literally always high & if he's not, he's a total asshat. I gave up smoking and drinking the second I got a positive test with my son (6 years ago). I don't have a problem with pot at all, I think it does amazing things for people medically. But anyways, it's all he cares about. It's all he spends his money on. He hasn't bought groceries in 3-4 months, he let my car get repossessed. He doesn't buy diapers for our 1 year old. I am a stay at home mom who homeschools our son. My dad gives me a certain amount of money every month for groceries, diapers, random stuff (thank god he is able to do that and I always tell him how much I appreciate it) but, I'm getting tired of my dad having to do it because this guy who is supposed to support us and care for us isn't. He told me to stay home and homeschool our son and be there to teach our daughter as well. He gets annoyed when I tell him I can work nights to help him out. He says "no, you're a mom".

Next thing is, I don't get breaks, not even a little. We do school from about 10 am-1:00 pm and then I do the things that need done around the house. He gets home, stays in the garage for an hour to smoke, comes in, plays video games, takes a nap, yells about everything being a disaster after I've cleaned multiple times, gets mad if dinner isn't started or done, gets mad if certain things didn't get done. Complains that he's the only one that takes out the trash on Thursday mornings. Gets mad if the dishes aren't done every day. Just everything.

Another thing is how he treats our kids. He yells at our 6 year old for peeing on the seat if he doesn't have the time to lift it up, yells at him if he doesn't play fortnite the "right way", gets mad at him when he tells him "I don't like you" and I don't correct him anymore because I mean, why should he like him anyways honestly. He gets mad at our 1 year old because she cries every time he holds her, she doesn't like him at all. I can't even run to target to do target pick up without him calling me asking why I'm taking so long.

I am making this post because I need advice. Maybe on things to say to make him realize, or to make him not do this anymore. I was talking about it to my friend and she was saying to leave because he also just says the MEANEST things to me. Like calling me fat & that I'll never sweat enough to lose the weight because I'm lazy so started my fitness journey 4 months ago and am down 23 lbs. so that put me in a. Weird funk for a while but he read our conversation and told me i can't talk to her anymore because she called him a piece of shit and a bad father.

He never apologizes, never owns up to his faults, I just don't know what to do anymore. I feel like nothing I do is right or good enough.

I want to leave, but I cannot share these kids with him. I can't even leave them with him for 45 minutes without getting a call asking what's taking so long and that they are being "brats" and that he "can't handle them both". Like I will be that crazy girl that doesn't let him see these kids unless someone kills me first. So leaving isn't really an option right now. I do love him (for whatever reason idk) but it's just not the same person. He has changed so much In a bad way.

Sorry this was so long...just can't vent to anyone anymore. Also keeping this private just in case he sees it somehow.