Uggh, I know it's a setting somewhere I've done wrong. I've been following the tutorials, but my setup is a bit different from how you do it so I think that's why I'm having issues.
This is my action bar/HUD setup. I have it show my players HP, MP, XP, and 10 shortcut slots.
This is the setup on the top level of the prefab.
And this is the setup I have for the HP bar.
Then the prefab is added in UI System > HUDs with HUD Type Combatant.
I'll upload my project asset and email it to you as well. I don't think it's a glitch, I'm just missing something.
You have a HUD Content Provider and a HUD component on your root. The HUD itself is already a content provider and is what'll receive it's content when the HUD is instantiated. Now, if other components on your HUD use the HUD Content Provider component at the root, they'll not have any content to display.
Remove the HUD Content Provider component from the Dual Orb Action Bar game object and update the content providers on those components that are now missing a reference (e.g. the HUD Status Value component in your screenshot).
Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found. If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
Writing an in-depth look into the Unity UI HUD system is on my TODO-list, the whole content provider handling and separation between content definition and content display components is a bit complex to grasp without more details.
Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found. If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
Adding the UI Receive Cursor Events component to the HUD worked perfectly, now I can click-select from the HUD and the click-move Raycast doesn't go through the UI :)
I also figured out why the keyboard shortcuts were not working. In Battles>Target Setting>Target Selection > Target menu was set to true so the system was waiting for me to select a target from a UI drop down list.
Now the problem is, when I mouse-click on a potential target, I can't tell if it is selected, if I need to press the "Accept" Input Key (which I'd prefer not to) or what I have to do next.
I tried setting Battles>Target Setting>Target Highlight > Highlight Game Object to Flash but doesn't seem to work on enemies. I've seen the Player occasionally flashing, even though I wasn't able to repro it on a consistent base.
Basically I'd like to be able to click-select a target (or location) and use an ability via Shortcut/UI.
@ChimpLogik That seems like a job for the group/individual targets - they're set up in Battles > Target Settings and are basically tab-targeting, i.e. you select a target and can use actions on them via control maps or the battle menu. Using those group/individual targets also has to be enabled in the control map key or battle menu to use them.
Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found. If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
I've tried for few hours and still no progress :( This is what I have so far in Battles>Target Settings>Individual Target Settings>Add Target Settings
I've also set a prefab in Target Highlight>Cursor settings and Target Highlight>Highlight Game Object to Flash but never seen them happening
This is how all control Keys are set in Base/Control>Control Maps
I've tried to set Battles>Battle Menu to none in case it was causing that extra "accept" key step (which also seems to block the combat alltogether even if it's set to Real Time) but it didn't do much...
Since Auto Select isn't enabled in the individual target settings, what's your Input Settings there like? I.e. how is the individual target selected?
Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found. If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
This is how the Input is set in the individual target settings
and for the target highlight
I also just realized a potential cause of the problem ...but I still don't have a solution :P All my abilities are supposed to work like this: 1) click on target (select) 2) player moves to target (within the ability range) 3) ability effect
So I set my test ability to use 2 Battle Animations schematic: Battle Animation 0 MoveToTarget
Battle Animation 1 Base Attack
Now, it looks like the ability is waiting for an accept input for the MoveToTarget part but once the player is in range, it doesn't need that extra input anymore. Now, being not obvious when the player is/isn't in rage, it makes that extra accept input very confusing to use. Is there a way to remove it?
The Target Highlight Settings you screenshotted (in the Target Settings) are for the regular battle menu target selection. The group/individual targets have each their own Target Cursor settings, so currently only highlight via a cursor prefab.
However, based on your description (click on target, move there and use ability), the group/individual targets (i.e. tab targeting) isn't what you need - it's click on target to mark it, use an ability automatically on the marked target.
If you want to move to a selected target (i.e. use ability - select target - move there), that'd be handled by the schematics animating it. I.e. similar to this schematic tutorial. However, you'll need to have the player controls disabled during the player actions for this, or the control and the schematic's movement conflict with each other.
Post edited by gamingislove on
Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found. If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
I added the cursor/highlight image mainly to understand if I was setting that part properly, since I never saw either happening. That lack of visual feedback made it very hard to see if a target was selected or not.
Which section of Makinom should I look into for the "click on target to mark it, use an ability automatically on the marked target" ?
I was browsing through the schematic nodes: 1) is the schematic node "Control Component" the right one to disable the player control? 2) is there a way through the schematic to re-enable the control and interrupt the action on conditions (like if the player clicks to move while he's going toward a target)?
Thank you again for all the support, I can't stress enough how helpful it is!
ChimpLogik said: Which section of Makinom should I look into for the "click on target to mark it, use an ability automatically on the marked target" ?
That's how the group/individual targets work, I was just explaining that :)
1) The Block Player Control is the right one.
2) You could e.g. use a Wait For Input node, enable controls again (Block Player Control node) and stop the combatant's action (Stop Battle Actions node with Stop All disabled).
Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found. If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
This is what I made on the schematic for the player interruptible move to target. Unfortunately doesn't seem to be working as intended :| The Wait for input is set to any key = true
Seems like your Wait For Input node doesn't use the Wait option to only wait for a defined time, so it'll wait until any key is pressed. I can't see it in the Change Position node in the screenshot, but I assume it also waits for the move to complete, so the schematic will first move completely and afterwards wait for an input ... no wonder that's not working as intended :D
There are 2 possible setups:
1) Don't use Wait in the Change Position node and wait in the Wait For Input node.
2) Use another schematic (e.g. via a global machine) for canceling the action. - in the action's movement node, set a global bool variable to true (e.g. playerActionMove) before moving, wait for movement to complete and set the global bool variable back to false. - the global machine checks for the global bool variable to be true - the global machine can either use an input key to start (if you want to cancel with a defined key) or used in Auto type with a 0 second check timeout - the schematic (global machine) either just cancels the player's action (when started via a key) or checks inputs first (Input Key node this time, since it's used each frame)
Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found. If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
This is my action bar/HUD setup. I have it show my players HP, MP, XP, and 10 shortcut slots.
This is the setup on the top level of the prefab.
And this is the setup I have for the HP bar.
Then the prefab is added in UI System > HUDs with HUD Type Combatant.
I'll upload my project asset and email it to you as well. I don't think it's a glitch, I'm just missing something.
You have a HUD Content Provider and a HUD component on your root. The HUD itself is already a content provider and is what'll receive it's content when the HUD is instantiated. Now, if other components on your HUD use the HUD Content Provider component at the root, they'll not have any content to display.
Remove the HUD Content Provider component from the Dual Orb Action Bar game object and update the content providers on those components that are now missing a reference (e.g. the HUD Status Value component in your screenshot).
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
Now onto the next (self-inflicted) issue!
Writing an in-depth look into the Unity UI HUD system is on my TODO-list, the whole content provider handling and separation between content definition and content display components is a bit complex to grasp without more details.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
I also figured out why the keyboard shortcuts were not working.
In Battles>Target Setting>Target Selection > Target menu was set to true so the system was waiting for me to select a target from a UI drop down list.
Now the problem is, when I mouse-click on a potential target, I can't tell if it is selected, if I need to press the "Accept" Input Key (which I'd prefer not to) or what I have to do next.
I tried setting
Battles>Target Setting>Target Highlight > Highlight Game Object to Flash but doesn't seem to work on enemies. I've seen the Player occasionally flashing, even though I wasn't able to repro it on a consistent base.
Basically I'd like to be able to click-select a target (or location) and use an ability via Shortcut/UI.
I can see how powerful the content provider system is, so it's no wonder. But I'm definitely looking forward to more details.
That seems like a job for the group/individual targets - they're set up in Battles > Target Settings and are basically tab-targeting, i.e. you select a target and can use actions on them via control maps or the battle menu. Using those group/individual targets also has to be enabled in the control map key or battle menu to use them.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
This is what I have so far in
Battles>Target Settings>Individual Target Settings>Add Target Settings
I've also set a prefab in Target Highlight>Cursor settings and Target Highlight>Highlight Game Object to Flash but never seen them happening
This is how all control Keys are set in Base/Control>Control Maps
I've tried to set Battles>Battle Menu to none in case it was causing that extra "accept" key step (which also seems to block the combat alltogether even if it's set to Real Time) but it didn't do much...
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
and for the target highlight
I also just realized a potential cause of the problem ...but I still don't have a solution :P
All my abilities are supposed to work like this:
1) click on target (select)
2) player moves to target (within the ability range)
3) ability effect
So I set my test ability to use 2 Battle Animations schematic:
Battle Animation 0
MoveToTarget
Battle Animation 1
Base Attack
Now, it looks like the ability is waiting for an accept input for the MoveToTarget part but once the player is in range, it doesn't need that extra input anymore. Now, being not obvious when the player is/isn't in rage, it makes that extra accept input very confusing to use. Is there a way to remove it?
The Target Highlight Settings you screenshotted (in the Target Settings) are for the regular battle menu target selection. The group/individual targets have each their own Target Cursor settings, so currently only highlight via a cursor prefab.
However, based on your description (click on target, move there and use ability), the group/individual targets (i.e. tab targeting) isn't what you need - it's click on target to mark it, use an ability automatically on the marked target.
If you want to move to a selected target (i.e. use ability - select target - move there), that'd be handled by the schematics animating it. I.e. similar to this schematic tutorial. However, you'll need to have the player controls disabled during the player actions for this, or the control and the schematic's movement conflict with each other.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
Which section of Makinom should I look into for the "click on target to mark it, use an ability automatically on the marked target" ?
I was browsing through the schematic nodes:
1) is the schematic node "Control Component" the right one to disable the player control?
2) is there a way through the schematic to re-enable the control and interrupt the action on conditions (like if the player clicks to move while he's going toward a target)?
Thank you again for all the support, I can't stress enough how helpful it is!
1) The Block Player Control is the right one.
2) You could e.g. use a Wait For Input node, enable controls again (Block Player Control node) and stop the combatant's action (Stop Battle Actions node with Stop All disabled).
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
The Wait for input is set to any key = true
I can't see it in the Change Position node in the screenshot, but I assume it also waits for the move to complete, so the schematic will first move completely and afterwards wait for an input ... no wonder that's not working as intended :D
There are 2 possible setups:
1) Don't use Wait in the Change Position node and wait in the Wait For Input node.
2) Use another schematic (e.g. via a global machine) for canceling the action.
- in the action's movement node, set a global bool variable to true (e.g. playerActionMove) before moving, wait for movement to complete and set the global bool variable back to false.
- the global machine checks for the global bool variable to be true
- the global machine can either use an input key to start (if you want to cancel with a defined key) or used in Auto type with a 0 second check timeout
- the schematic (global machine) either just cancels the player's action (when started via a key) or checks inputs first (Input Key node this time, since it's used each frame)
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!