[Free Community Project] [Blueprints] Cardinal Menu System | Steam and LAN Server Browser and Pings

I will put that on my list of things to do. But it will probably be a long time before I can get to it.

You can try just selecting all the folders and the right click and select migrate. Then make sure your other project has all the required plugins before you open it. Set the menu map as the starting map and such.

Thanks for the replies about renaming the project. I did find an answer here How to properly rename a C++ project without breaking anything - C++ Gameplay Programming - Unreal Engine Forums

So I’m trying to convert this to a BP only project and the packaged project keeps crashing. I installed/enabled all the proper plugins and know that vanilla cardinal menu using engine plugins works fine.

You can make it a blank C++ project without any code. I haven’t had any problems with that. I’m not sure what your issue would be. I will try and write a tutorial soon.

Yeah I have it working fine as C++ like you said, are you sure there’s no code somewhere in the project making the packaged version crash? What happens is that it begins to play the intro movie and then immediately crashes.

I’ll try again using the same project name in a blank C++ project like you said and get back to you.

Nope it just crashed again. I redownloaded the cardinal menu, created a blank C++ project, moved all of the content into it from cardinal project, made sure all the correct plugins are enabled, then packaged it and ran the .exe

I’m using 4.14.
It does work fine in the editor.

Here’s the error message from the log file

[2017.02.16-17.46.37:816] 0]LogProperty:Error: Struct type unknown for property ‘StructProperty /Game/Cardinal/MainMenu/Blueprints/UI/SettingsPanels/ControlsSettingsDetails.ControlsSettingsDetails_C:SetDefaultsBinds.CallFunc_Array_Get_Item’; perhaps the USTRUCT() was renamed or deleted?
[2017.02.16-17.46.37:820] 0]LogWindows: Windows GetLastError: The operation completed successfully. (0)
[2017.02.16-17.46.38:016] 0]LogWindows:Error: === Critical error: ===
[2017.02.16-17.46.38:016] 0]LogWindows:Error:
[2017.02.16-17.46.38:016] 0]LogWindows:Error: Assertion failed: Object [File:A:\Game Design\UE4\Epic Games\UnrealEngine-release_414\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp] [Line: 3238]
[2017.02.16-17.46.38:016] 0]LogWindows:Error:
[2017.02.16-17.46.38:016] 0]LogWindows:Error:
[2017.02.16-17.46.38:016] 0]LogWindows:Error:
[2017.02.16-17.46.38:016] 0]LogWindows:Error: KERNELBASE.dll
[2017.02.16-17.46.38:016] 0]LogWindows:Error: CardinalMenu.exe
[2017.02.16-17.46.38:016] 0]LogWindows:Error: CardinalMenu.exe
[2017.02.16-17.46.38:016] 0]LogWindows:Error:
[2017.02.16-17.46.38:042] 0]LogExit: Executing StaticShutdownAfterError
[2017.02.16-17.46.38:043] 0]LogWindows: FPlatformMisc::RequestExit(1)
[2017.02.16-17.46.38:043] 0]Log file closed, 02/16/17 11:46:38

Just a shot in the dark… but I wonder what would happen if you rename \Config\DefaultInput.ini to \Config\DefaultInput.ini.bk - I had problems with the default control bindings before. Maybe try disabling the MainMenuLib plugin. I haven’t tried renaming the project since quite a few engine versions ago.

Edit: I’m looking at the BP with problems right now. Maybe I will think of a solution.

If you open open the BP at /MainMenu/Blueprints/UI/SettingsPanels/ControlsSettingsDetails you will find a struct variable called DefaultBinds which has an list of the control bindings. I’ve found bugs if they are not in alphabetical order. The engine handles this strangely and I spent a few hours troubleshooting this before. Since you are having problems, I wouldn’t be surprised if the problem is something to do with this. You can try deleting DefaultInput.ini in the \Config folder and removing all the bindings in the ControlsSettingsDetails DefaultBinds struct. Maybe that will work.

Good luck! I will try and update the project to UE4.15 this weekend and test renaming a project and see what problems I run into. I’ve been waiting to see if people report any problems with advanced sessions plugin on the new engine version before I release the new version.

Well I’ll be more than happy to help with this as much as I can. I’m determined to get my framework UI set up and ready to use since really, the very first thing you see when launching a game is the UI. Also this will help out many other people I’m sure.

Alright I removed all the bindings from the defaultbinds struct and renamed DefaultInput.ini to DefaultInput.ini.bk. I’ll let you know what happens.

Update: That resulted in the same error. I’m going to try deleting DefaultInput.ini and disabling MainMenuLib plugin now.
Update: When I removed the MainMenuLib plugin, I got these error messages.
UE4Editor_2017-02-16_13-22-26.png
UE4Editor_2017-02-16_13-25-00.png

And here’s a massive pastebin of all the errors and warnings I’m getting when loading up the editor. Cardinal menu with main menu plugin removed - Pastebin.com
Here’s the load errors too if you wanted to see that. Cardinal menu no main menu lib plugin load errors - Pastebin.com

Hmm, deleting the default binds in that BP and the DefaultInput.ini didn’t fix it? (While keeping the plugin in place) That’s strange. I haven’t seen that before. I’ll see if I can figure it out tomorrow.

Edit: Wait a second, I might have an idea… I wonder if your build.cs is the same? I’d try a C++ project and make sure the source has the same lines for PublicDependencyModuleNames and PrivateDependencyModuleNames

Maybe that’s why MainMenuLib Input Struct is throwing problems…

There are now short instructions on how to import Cardinal Menu into your project. The instructions were tested with UE4.14.3 today.

We released the UE4.15 version today. This version includes a lot of changes.

The MainMenuLib was removed and blueprints only graphics settings were put into place using Mathew Wadstein’s method.
Axis bindings are now possible.
Controllers (Xbox and Steam) are now supported.
And a UE4 intro video plays at the beginning.

Here are a few screenshots of the new settings.
704aaa4bf3a2397cd7639294ac42cf618baa85d1.jpeg
5fb383d2c58f05df8f121f4e1d44d006dcd5c996.jpeg

awesome ! thanks for sharing this. i’ve brought your 4.14 to 4.15 on my side but looks like your new version is even better, i’ll grab this one ! :smiley:

I will be trying this out again soon. :smiley:

We just released a new version that fixes the in editor’s default binds being wrong out of the box. PIE PC controls should work fine now.

Steam friend avatars were fixed. They are not functioning correctly in UE4.15 until Cardinal Menu v170405_415.

I’ve managed to update all the plugins to 4.16, but I’m having some odd problems with the input menu - when I press one of the input menu buttons (PC, Xbox or Steam), the options change to the cardinal input project inputs instead of my project inputs, and immediately overwrite the normal input settings. I can’t find the settings for those inputs anywhere. Any idea what I’m doing wrong, here?

The input widgets can be found here -
/Game/Cardinal/MainMenu/Blueprints/UI/SettingsPanels/ControlsSettingsDetails
In the arrays DefaultActionBinds_“control-scheme”
and
/Game/Cardinal/MainMenu/Blueprints/UI/SettingsPanels/RAMA-AxisControls/AxisMain_ByRama
In the arrays DefaultAxisBinds_“control-scheme”

The default inputs are in:
\game\Config\DefaultInput.ini

And input mappings for PC are as follows:
+ActionMappings=(ActionName=“Jump”,Key=SpaceBar,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+ActionMappings=(ActionName=“Menu”,Key=M,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
+AxisMappings=(AxisName=“Backward”,Key=S,Scale=-1.000000)
+AxisMappings=(AxisName=“Forward”,Key=W,Scale=1.000000)
+AxisMappings=(AxisName=“LookDown”,Key=None,Scale=1.000000)
+AxisMappings=(AxisName=“LookUp”,Key=MouseY,Scale=-1.000000)
+AxisMappings=(AxisName=“TurnLeft”,Key=MouseX,Scale=1.000000)
+AxisMappings=(AxisName=“TurnRight”,Key=None,Scale=-1.000000)

*Note the alphabetical order

I’ll take a look at it tomorrow and see if I can replicate the problem. We were giving 4.16 plugins and engine a bit of time to see if any bugs were found before trying. I’ve had frustrating experience in the past trying new engine versions right after release. I see Victory Plugin for 4.16 was just released today. I’m checking to see if I have issues. I’ll test it and release the 4.16 version of the project too.

I managed to find the input settings after looking where you indicated, though having to recreate the input settings in the arrays manually is a bit of annoying busywork, on top of nuisances like the system messing with the default input settings so they’re alphabetical (something I didn’t want but I can live with for now).

That being said, I ran into some worrying bugs:

  • Changing to one of the control sub-menus (PC, Xbox or Steam) messes up the controls completely.
  • The game doesn’t exit menu mode when going into the main game mode, messing up mouse and gamepad input.
  • If you use a different number of inputs for PC compared to gamepad (say, you want to do forward, back, left and right on keyboard while just horizontal and vertical on gamepad, because the latter is the only way to get proper analog movement), there’s an excess number of input slots.

Right now it seems the control rebinding system can’t handle the possibility that all input types have a different number of inputs, and the transition from menu mode to gameplay mode is broken.

Edit: Yeah, after some testing in the 4.15 project, I came to the conclusion that you simply can’t have proper analog input with this system right now without making a mess of the menu, which makes it functionally unusable, IMO. The mouse mode bug is somewhat weirder, though, I can’t figure out what’s causing it.

Edit 2: Okay, I think I fixed the menu mode issue somehow, maybe. Not quite sure, will keep testing.
Edit 3: Nevermind, it’s broken when imported into my own project, which is functionally bare-bones. I’m basically at a loss at this point.
Edit 3: Now that I’ve done a bit more examining, I think the key remapping issue stems from the fact that the victory plugin doesn’t really account for the need for secondary mapping, and the menu itself can’t deal with input numbers between input types that don’t match. I’ll probably get rid of my secondary map slots for now to try and fix the problem, and introduce a bit of redundancy with the gamepad mapping to make the input mappings match properly.