I've started to try and use the InputSystem object, since I've always wanted customizable controls, and the ability to use a PC controller.
However, InputSystem has quite a few glitchy things, and since it's been a year since its last update, I doubt it's being worked on anymore.
Problem 1: InputSystem doesn't work with modal layout objects.
Let's say I have InputSystem on level 1.
Player presses "Pause".
Modal layout object pops up.
Layout object doesn't detect InputSystem object.
This happens even when "InputSystem" is a global object.
A global Mouse and Keyboard object could be detected by a modal layout object. So it must be some problem with InputSystem.
Copy and paste a non-global InputSystem object to modal layout object.
This actually does seem to work, and an InputSystem object in the layout object itself can be used.
This solution, however, leads to...
InputSystem is the only object I've found that lags up an app while loading.
Player presses "Pause".
Game freezes up for half-a-second.
Player object and enemies seemed to have moved within that half-second of lag, and the modal layout object is displayed.
I don't really want any lag while pausing, and certainly not lag where the player object is still moving, pauses, and is going to appear somewhere else in the middle of moving.
Uncheck "modal" on the layout object.
With this, I don't need any global InputSystem object or anything. The pause menu in the layout object DOES respond. With no need for an InputSystem in the pause layout (since a modal layout object needs one), there's no InputSystem to load upon creating the layout object.
This however, leads to another predictable problem:
everything behind the layout object is still going on. Player object animation and movement, enemies, everything. Not much of a pause menu if it doesn't pause.
And I can't just set time scale to 0, because that affects the modal layout object, as well.
What I want to know:
1) Would it be possible to fix InputSystem so that it loads seamlessly, like everything else? Even when I was using Mouse and Keyboard, it loaded instantly. No lag. I doubt this is possible since the creator seems to have kinda forgotten about this.
2) Is it possible to have timescale affect different things? Is it possible to have timescale freeze a single layer, or certain type of object? Is it possible to have timescale freeze the level layout and still have the timescale for the pause menu layout object remain normal somehow? If not, I suspect I'll have to try and create my own unique pause. (If player presses "Pause", stop enemy movement, enemy animation, stop bullet movement, stop player movement, etc...)