As tragically1969 said, it is best that they all support the same protocol. You can find some protocols and some unmanaged switches that will work - and will likely recover - but in general no vendor will support you or guarantee the ring recovery times they quote if you use non-managed switches or switches that don't support the protocol. The issue is timing: if you want the layer 2 ring recovery time quoted by the vendor they all need to match. This is really an application question: if you don't care, then put in whatever you want and it might work (suggest you validate and test first, though).
Example:
We have an install of some IO devices that are dual port -they don't support a ring protocol, but we looped them anyway and used one of the proprietary ring protocols on one Managed Switch as the ring manager. This protocol has a guaranteed ring recovery time of something like 200ms. My application testing showed that often times we met this criteria, but in about 10% of the test cases, I got a ring recovery time of about 3sec. In my control world, there is big difference between 200ms and 3s. However, in this case, we could live with up to a 5sec delay for these inputs so we decided that this architecture would work for us and knowing the worst case recovery time, I was able to account for this timing and absorb this type of fault without a process upset.
However, in other places where we need to go faster, we specify the dual port STB I/O devices from Schneider Electric (STB2311) that support rSTP out of the box, and use this with a Schneider managed switch (also running rSTP) and the recovery times are fantastic because everything supports the same protocol.