Mostly it depends on your campaign, but from my point of view, it seems you nerfed the character.
- Resistance to Necrotic Damage.
- No longer needs to eat, breath or sleep.
- No effect from potions and elixirs, which are mostly good for whoever drinks.
- Vulnerability to radiant damage.
I would have to check whether immunity to spells that don't affect undead is good or bad, but for your example, it's obviously bad to not be able to be healed. I will be using the point system of this Race Homebrewing Guide, since what you are putting here is similar to a subrace (in previous editions it would be an additional subtype).
So, let's figure out the points. For the good points, eating and breathing shouldn't play a too important role in most campaigns. As I said, it's ultimately dependent on the campaign, but it usually doesn't matter too much. Not requiring sleep is also not an amazing point, although it does give the party someone to watch over the entire night. I'd give it just a +0.25. Note that Fey Ancestry gives +0.5, and is similar, but gives immunity to sleep and resistance to charming. Undeads will have these features, but from other source, so the sleeping by itself is a .25
Resistance to necrotic damage will be useful against other undeads, necromancers and similar stuff. I'd give it +0.5, similar to Dragonborn's Resistance.
Darkvision 60 ft has the default value of +0.5.
Now, for the bad things: first, I will start saying, as I did in this answer, that generally giving weakness to a race is quite bad in D&D 5e. Most of the published races, with the exception of Volo's Monster Races and Sunlight Sensitivity for Drows, don't have downsides in them, just weaker or stronger upsides. That said, let's analyze your weaknesses: Vulnerability is usually more harmful than resistance is helpful. The difference in added damage from vulnerability is X, while the difference from subtracted damage from resistance is X/2. For example, a hit that would do 10 damage now does 20, which is a +10, while resistance would decrease it to 5, or a -5. Note that, aside critical hits, we are used to additive bonus, not multiplicative, so vulnerability is "stronger" than resistance, at least that's how I see it. Argument made, -1 for that.
No effects from potions and elixirs is also dependent on how common they are - in most campaigns, at least healing potions are quite common, so I would give easily a -0.5 here.
For now, we are already at -0.25. The real deal is on being affected by spells: Not being able to be healed by potions is something, not being able to be healed at all is way harder to deal with. I'm not sure there are enough negative spells that don't affect undead to make up for it - and even if there are, how commonly are they actually going to be used against your party? Again, in usual campaigns, I would guess (where guessing means by experience) rarely. This should be a -0.5 to -1. A net score of -1.25, or even -0.75, is a lot. And I consider myself kind here, it's probably worse than that.
One thing that would make things less messy for him would be, at least, give him some X per short rest healing ability.
Also, think about later resurrections: after 5th level, reviving your dead PCs is actually common with spells like Revivify, Raise Dead, Resurrection. How would the undead character come back to "life"? Still as undead? As he was before? Would these spells even work on him? Either way, that's for you.
TL;DR: Most of your features are hindrances, and the good ones aren't usually that helpful. It's likely to make the character considerably weaker. If that will be enough to make it unfun or unbalanced depends on your actual campaign setting.