You can make a transaction which is only valid in the future by using the nLockTime field. Email the signed transaction to your heir(s). Then, if you die or become incapacitated, all they have to do is wait until the TX is valid, then drop it onto the mempool.
So say you make such a Deadmanβs Transaction (DMTX) dated for a year in the future. 10 months from now, you make and broadcast a transaction that moves one of the UTXOs (self-spend). Now the DMTX is invalid because it would double-spend. Last step is to make a new DMTX for another 12 months hence and email it.