Hi everyone,
I'm working on a first-person project and have encountered a few technical dilemmas. I'm not sure if the approaches I'm using are the best, so I'd love to hear your thoughts. Here are the details:
When I switch the input method from Mouse and Keyboard to Keyboard or Controller, the camera rotation speed becomes excessively high. I haven’t been able to match the speed to the one I use with Mouse and Keyboard.
To manage this, I’m using a separate script in my Manager to detect controller input and activate the following AC bools:
AC.KickStarter.menuManager.keyboardControlWhenPaused
AC.KickStarter.menuManager.keyboardControlWhenCutscene
AC.KickStarter.menuManager.keyboardControlWhenDialogOptions
This approach works very well, and I have no issues disabling these bools when necessary. I also use this method to trigger different menus based on the current control method:
If the player uses a controller, a specific menu opens.
If they use a mouse and keyboard, a different menu is triggered.
Question:
Does this approach seem correct to you? Has anyone implemented a less "workaround-y" solution by directly using AC and its integrated menus?
Another issue I’m facing involves hotspots. I know that AC disables hotspots by default when the game is paused. However, the only way I’ve found to select the first element of a menu (specifically the inventory) is to pause the game when the inventory is opened.
Specific problem:
If I use an item from the inventory while the game is paused, the ActionList for using that item doesn’t run.
Do you think the way I’m managing input through the script might be causing or amplifying this issue? Is there a more effective way to handle this?
I’m still in the early stages of setting up this scene, including ActionLists, custom scripts, and menu configurations. I’m open to making significant changes if needed to resolve these issues. Even theories or ideas to test would be greatly appreciated.
Thanks a lot for your help!
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
Try implementing a custom override for InputGetFreeAimDelegate with something like the following:
See the Manual's "Remapping inputs" for details on this.
If you need the Menus to be different based on input method, that's a viable approach. Is this need based on the behaviour of the Menus, however? You can alter the Menu properties through script before turning them on, if necessary.
You can enable direct-control of in-game Menus (i.e. those that open during gameplay) using the Engine: Manage systems Action.
Thanks, everything is working as expected!