goncasmage1 / uinavigation Goto Github PK
View Code? Open in Web Editor NEWA UE4/5 plugin designed to help easily make UMG menus navigated by mouse, keyboard and gamepad
License: MIT License
A UE4/5 plugin designed to help easily make UMG menus navigated by mouse, keyboard and gamepad
License: MIT License
Implementing a real dynamic inventory system involves 2d grids and runtime manipulation, which doesn't seem to be currently supported. I removed all the parameter count checks in AppendNavigationGrid2D and dropped in UINavButtons.Num() > 0 ? UINavButtons[NumberOfButtonsInGrids] : nullptr
in 2nd param of FGrid ctor, and all seems to work fine. I suspect you'll still want to validate the parameters in some way, but the point is, an empty 2d grid that is populated at runtime should be allowed and verified works fine.
What's this error message? It happened after I update but I couldn't find anything about it.
Lazy to pull, so...
UINavWidget.cpp:1040
When opening a child menu from a parent menu using Go to Widget when Removed Parent is checked will cause the buttons of the child menu not to be navigable by the keyboard. See attached project. Here are the repro steps:
Ensure Remove Parent checkbox in Go to widget in Test Menu is un-checked
Run project
Press Spacebar to open parent menu
Press Enter to open child menu
Press W or S
Expected: button changes
Actual: button changes
Stop project
Now, Toggle the Remove Parent checkbox in Go to widget in Test Menu to be checked
Run project
Press Spacebar to open parent menu
Press Enter to open child menu
Press W or S
Expected: button changes
Actual: button do not change
I have a game mode in C++ which references a HUD defined in BP, which in turn uses an UMG Widget Blueprint.
Now, I don't know if that's a bad idea for other reasons โ I'm a beginner โ but it's working so I'll stick with it for now.
However, next time I started the editor after making that change, it gave me errors on load. Can't find file for asset. /Script/UINavigation
. The reason for that is that project C++ files are loaded before the Standard loading phase.
I edited UE_4.21\Engine\Plugins\Marketplace\UINavigation\UINavigation.uplugin
and changed:
"LoadingPhase": "Default",
to
"LoadingPhase": "PreDefault",
and now it works. Thanks the intahwebs for the solution.
It would be really cool if you could expose bParentRemoved to blueprints. Spent a minute trying to figure out why parents were closed when adding child. Tracked it to this bool but I had to enable in c++.
Okay, this is a strange issue and I'm sure the title is a little confusing so I'll walk through it simply so its understood because it took me a while to isolate it. The attached project is a super simple example that also reproduces the issue so hopefully there's no confusion.
In TestPlayerController there are 2 key bindings that Create a Widget/Add to Viewport a UINavWidget with some buttons. These bindings are Spacebar and the P key.
The buttons in the menu UINavWidget are configured to exit the menu via any OnSelect event.
3) Press Enter key
expected: menu closes
actual: menu closes
Press P key
expected: menu opens
actual: menu opens
Press Enter key
expected: menu closes
actual: menu does not close
Press Enter key again
expected: menu closes
actual: menu closes
When ever the menu opens after the first round of open/close, the first Enter key event does not trigger the OnSelect event, but only when opening the menu with certain keys. It does always trigger the KeyDown event, so something is blocked in between KeyDown and OnSelect. My guess is the stuff in OnPreSelect.
If however, the spacebar is used to open the menu, there are never any issues. I have noticed the P key and Delete key to cause this behavior. Might be more, I haven't tested others.
Unable to package with Shipping Win64 and nativize blueprints.
This happens when attempting to use the plugin only in the project folder and not from the Engine install.
Attempting to package will cause errors saying that headers can't be found.
The workaround, for now, is to copy the plugin to the Engine plugins directory.
Maybe make an option for the plugin to be used in the project folder?
If the player controller changes while the widget exists then UINavPC becomes invalid. For example, this can happen if you create a widget in a singleton (GameInstance). Wrap all calls with getters better.
Fix FS buttons (Alt+Enter & F11)
if (GEngine && GEngine->GameViewport && GEngine->GameViewport->TryToggleFullscreenOnInputKey(InKeyEvent.GetKey(), IE_Pressed)) return FReply::Handled();
at the beginning of the function UUINavWidget::NativeOnKeyDown works for me
How do you add sound effects to the sliders?
Problem:
I have a scene that creates two instances of UINavPlayerController onBeginPlay (for a local multiplayer game). Before the scene starts, the editor crashes.
Environment:
I'm running UE4.22 on Windows 10 64-bit.
I have a blank project with a blank scene.
The scene uses a custom game mode that creates player 0 and player 1 on BeginPlay.
The custom game mode uses UINavPlayerController as its default controller class.
Potential Solutions:
The error points to a "BindAction" problem. Maybe it could be solved by setting up some additional actions in the project settings? Something is going wrong on input for the second player.
Hello.
When I add a new C++ class, empty or not, to my game (that's using UINav) I get compile errors related to this plugin. These are the errors:
2>C:/Program Files/Epic Games/UE_4.21/Engine/Plugins/Marketplace/UINavigation/Source/UINavigation/Public/UINavInputBox.h(44) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module. 2>C:/Program Files/Epic Games/UE_4.21/Engine/Plugins/Marketplace/UINavigation/Source/UINavigation/Public/UINavInputBox.h(49) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module. 2>C:/Program Files/Epic Games/UE_4.21/Engine/Plugins/Marketplace/UINavigation/Source/UINavigation/Public/UINavInputBox.h(51) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module. 2>C:/Program Files/Epic Games/UE_4.21/Engine/Plugins/Marketplace/UINavigation/Source/UINavigation/Public/UINavInputBox.h(53) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module. 2>C:/Program Files/Epic Games/UE_4.21/Engine/Plugins/Marketplace/UINavigation/Source/UINavigation/Public/UINavInputBox.h(56) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module. 2>C:/Program Files/Epic Games/UE_4.21/Engine/Plugins/Marketplace/UINavigation/Source/UINavigation/Public/UINavInputBox.h(59) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module. 2>C:/Program Files/Epic Games/UE_4.21/Engine/Plugins/Marketplace/UINavigation/Source/UINavigation/Public/UINavInputComponent.h(20) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
Even an empty C++ class returns this error when compiling. If I delete the newly added C++ classes, I get no more errors and I'm able to compile.
I'm using UE4.21
The editor crashes with this error
UE4Editor_UINavigation!TMapBase<FString,TArray<FKey,TSizedDefaultAllocator<32> >,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<FString,TArray<FKey,TSizedDefaultAllocator<32> >,0> >::GenerateKeyArray<TSizedDefaultAllocator<32> >() [A:\Program Files\Epic\UE_4.23\Engine\Source\Runtime\Core\Public\Containers\Map.h:546] UE4Editor_UINavigation!UUINavPCComponent::FindActionByKey() [E:\Coding\UE4Projects\UiNav\Plugins\UINavigation-2.14.0\Source\UINavigation\Private\UINavPCComponent.cpp:606] UE4Editor_UINavigation!UUINavWidget::OnKeyReleased() [E:\Coding\UE4Projects\UiNav\Plugins\UINavigation-2.14.0\Source\UINavigation\Private\UINavWidget.cpp:480] UE4Editor_UINavigation!UUINavWidget::NativeOnMouseButtonUp() [E:\Coding\UE4Projects\UiNav\Plugins\UINavigation-2.14.0\Source\UINavigation\Private\UINavWidget.cpp:460]
Do you know why this happens?
Or is it possible to fix it?
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.