New Input System - How to setup Apple TV Remote?

I’m currently trying to port my first project to the new Input System package. So far, PC Input and Gamepad Input are working well. But the Apple TV Remote just messed up everything. The UI Navigation is total broken + the mapping to the Buttons / Touch Clicks is lost. So how do I need to setup my Input System to make the UI work again with swipe and “submit” click in the middle of the touch field of the remote? And how do I need to setup the Click Events for 1, 2 and the Buttons 3 and 4 to work again in my game (see picture below for numbers)?

So, short version… we don’t really have Apple TV Remote support yet. Not like the old system.

Long version… on iOS/tvOS, the GameController side of input from it should come through alright though with no specific understanding of the controller and thus it being considered a generic gamepad. UI bindings probably won’t make much sense for it. Also, no idea about the touch aspect of the controller. On MacOS, I would expect nothing from the remote to come through as we don’t have working GameController support yet.

@Rene-Damm thanks for the reply. I tested a bit with it but so far without any success. I can either “destroy” gamepad input for my Apple TV version or use the remote right now. Is there any ETA when this will be added to the new Input System? Because I know that Apple TV is a very small market compared to the others.

Could you explain some more? Do I understand you correctly that input from the remote is working but is conflicting with input set up for generic gamepads?

Unfortunately not at the moment.

Hello! Is there any news about Apple TV Remote support in the Input System? If not, what is the best workaround for now? Maybe creating a custom device for the System?

I would like to know as well. I’m trying to get Mfi controllers working accross Mac, iOs and tvOS, while also supporting each platform’s specific input devices like keyboard, touch screen, mouse, siri remote, etc.

We’ve created a workaround for Apple TV Remote. The problem for us was that Apple TV Remote spawns two kind of events simultaneously. It generates Stick and DPad which messes everything. So, we implemented a class similar to iOSGameController but with disabled DPad mapping. So, now it generates Stick events only. I’ll share the code that may be satisfying enough and cover someone needs as well.

Minimal project with the code
iOSGameControllerRemote implementation
Input initialisation

iOSGameControllerRemote requires unsafe privileges, the above project has a properly set up asmdef
The controller appears in Input asset in Gamepads category.

P.S.: I didn’t know how to disable DPad completely, so I mapped it to right stick press (not movement) which is not used in our game. So, if someone knows more elegant way to disable it I would appreciate this info.

6 Likes

So @FIFTYTWO workaround is still the only current solution for apple tv remote support? I’m experiencing same issues using v1.0.1-preview1. swiping the touch area is really broken. But pressing does seem to work ok

It seems this workaround is still the only solution. We used this workaround in Kenshō and now we’re going to use it in Populus Run which is in development yet.

2 Likes

@Rene-Damm Any progress on this?

1 Like

Hey, just bumping this. I think getting Apple TV’s remote to work with the new Input System is pretty important.

Looks like some people have had success implementing workarounds, would like to hear if Unity has any plans of getting this to work for everyone. Or at least if it’s being looked at.

1 Like

So many issues with tvOS remote.
It’s almost like there are two pointers active.
One is simulated like a game pad, swipe left/right/up/down, click touch to press.
Then some other invisible pointer that acts like a tap and drag mouse.

If you have a scroll rect on screen and other buttons, the scroll rect drags as you swipe the touch pad, making it impossible to press buttons.

other buttons like the play/pause, menu etc. Don’t seem to work at all.

I really hope Unity can take a look at this ASAP

Is there a way to check from unity if the current gamepad is an ExtendedGamepad or a MicroGamepad remote?
I’d like to take input for normal mfi controllers but ignore the remotes but I’m not sure but it looks like they’re both just iOSGameController.

If they haven’t implemented a relatively simple feature in over a year, you can be pretty sure they don’t care about implementing it at all.

I put a vote here ! For an official package that is now verified and that developers are encouraged to use, the new input system is not an option for a game running on Apple TV. If the new input system makes cross-platform inputs easier, it does nos handle the remote as the old system could… :frowning:
Is there an official place to upvote the support of the Apple TV Remote ?

I like going out on the balcony and shouting at the void.

1 Like

Well, why not ! I’ll try this, maybe a member of the Input team will hear me :hushed:

1 Like

I will join in on the yelling :slight_smile: I basically paused development on our tvOS build due to the input system not being compatible. Would love to see some official information on the status, so I don’t have hack around it.

2 Likes

@Rene-Damm Any progress on this?

5 Likes

I guess I’ll join the yelling too ! :smile:

This is currently a real blocker for our project. We are unable to port it to Apple TV, where we already have a lot of customers/players with previous apps : it is not a niche market at all for us.

2 Likes