Just wanted to share my findings on the above question. As far as I know, if you have your Unity setup to build for Android api 16 (the one that builds to OUYA) you should be okay to make an .apk that will run on an OUYA. This means any version of Unity from 3 (if you wanted to reach back that far), 4, 5, 2017, 2018, and 2019, up to 2019.1 (after that the option to build to api 16 is no longer present).
One thing to remember, if you wish to build a Unity .apk for OUYA using the OUYA ODK (which is not not needed anymore, but I’ll touch more on that in a second…) you can not use a version of Unity higher than 5.6.7. As if you do so with Unity 2017, the .apk will build correctly without errors, but when you install and run it on your OUYA, it will immediately crash. Not sure exactly why, may need to capture some logs to see what exactly happens before the crash.
So you may say, if the OUYA ODK is not needed, why bring it up? Well the reason is if you decide to use a Unity input system other than the default Unity input. Input systems such as InControl and Rewired both need the OUYA ODK to run properly on OUYA. So if you plan to use either of those input systems, you’ll need to limit your builds to at least Unity 5.6.7. However, if you plan on using Unity’s default input, you can use up to Unity 2019.1
Just thought I’d share my findings!