Adapting your game for Samsung Smart TV is much like porting your game to any other platform with Unity. 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 Samsung TV models released each year. Unity works on the following models:
2013 Models:
2014 Models:
Note that 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 IR-only remotes and instead gamepads are used to provide primary input.
Unity makes dealing with different input devices easier by providing input modes. See the Samsung TV Input section for more details on input modes.
To selectively compile in code for Samsung TV, use the following:
#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.
Samsung provides documentation on 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 mainly supports web/Flash applications), but you might 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.