Adapting your game for Samsung Smart TV is much like porting your game to any other platform with Unity. If your game already runs on mobile devices, you are halfway there! The hardware in the TV is very similar to mobile devices (ARM CPU + OpenGLES GPU), so you can expect similar performance metrics.
There are several different TV models released each year. Unity works on the following models:
2013 Models:
2014 Models:
2015 Models:
2016 Models:
Premium models have a faster CPU and higher end GPU.
The input mechanism is different depending on the model of TV.
2015 models have no touchpad. They have an accelerometer in the remote as well as air mouse capabilities.
2016 models have an IR remote and gamepad support
Unity makes dealing with different input devices easier by providing input modes. See the Input section for more details on input modes.
To selectively compile in code for Samsung TV, use
#if UNITY_SAMSUNGTV
// Samsung TV specific code
#endif
Note that this is also active for the editor.
To check at runtime if you are running on Samsung TV, use:
if (Application.platform == RuntimePlatform.SamsungTVPlayer)
{
// Samsung TV specific code
}
You can obtain the model like this:
SystemInfo.deviceModel
Possible return values include:
STANDARD_13
STANDARD_14
STANDARD_15
STANDARD_16
This allows you to differentiate between tv years.
Documentation is provided by Samsung on the topic of developing for Samsung Smart TV on Samsung’s developer forum. A lot of the information on this site does not apply to Unity users (it’s primarily supporting web / flash applications), but you may still find some of it useful.
In order to distribute your application to Samsung Apps TV store, you need to register your application and it must go through a certification process provided by Samsung or its Affiliate at Seller Office before being launched on the store.