Community Project | Cardinal Menu System Instructions, Help, and Discussion
-
About:
Here is the game menu from our game, Cardinal Fall, for use by the community.
This project packages a combination of other community projects to create a single, easy to implement menu system.
We will do our best to update the project with new engine releases.License:
This Menu System is free to use under The MIT License. https://mit-license.org
3rd Party Assets are discussed in the credits section below.
More up to date information is available in the Readme.Screenshots:
(To view screenshots, click the button below.)
:::
:::
Video:
Features:
- Server Browser (With Steam and LAN support)
- Client Internet and LAN Hosting Menu
- Steam Friends List With Avatars
- Pervasive Graphics Settings
- Player Control Mapping
- Controller Support
- Game Settings
- Credits Page
Download:
Metahusk Downloads: Cardinal Menu
Repository:
Metahusk Repositories: Cardinal Menu
Credits:
Project Credits:
Metahusk, mordentral, rama, Thaddeus Delude (parvan), The Tune Peddler, ZioYuri78, Nick DarnellCardinal Menu:
This project was put together by Metahusk using a collection of community content. Please credit everyone listed here and provide a link to our websites.
(http://metahusk.com)Project Blueprints:
This project’s blueprint files are released under the Creative Commons Attribution 4.0 International License. CC BY 4.0
Please provide credit where credit is due. You must credit the following people listed below. You can find this information in the project’s readme.
(https://creativecommons.org/licenses/by/4.0/)Main Menu by ZioYuri78:
The basic menu framework is an adaptation of ZioYuri78’s ‘Main menu and in game menu with basic game, graphics, controls and audio settings.’
(https://forums.unrealengine.com/showthread.php?103583-C-Blueprint-Main-menu-and-in-game-menu-with-basic-game-graphics-controls-and-audio-settings)Online Browser by mordentral:
The online browser utilizes mordentral’s Advanced Sessions Plugin.
(https://forums.unrealengine.com/showthread.php?69901-Advanced-Sessions-Plugin)Rebindable Keys by rama:
The key binding system utilizes Rama’s UMG Rebindable Key System, Rebind keys at Runtime.
(https://forums.unrealengine.com/showthread.php?51449-Full-Project-Rama-s-UMG-Rebindable-Key-System-Rebind-keys-at-Runtime!)Background Music by The Tune Peddler:
The music used in this project is owned by The Tune Peddler. You do not have permission to use the project’s music without agreeing to the terms at The Tune Peddler’s website. As of July 2016, this includes a $5 a month subscription fee.
(http://thetunepeddler.com/)LoadingScreen plugin by Nick Darnell:
The LoadingScreen plugin was provided by Nick Darnell and was released under The MIT License.
(https://github.com/ue4plugins/LoadingScreen)How To Help:
Respond to this thread below with your ideas.
If you have a bug fix, would like to contribute, or expand on this project, please say so.
We will contact you and grant you commit privileges on the repository.How To Donate:
Our organization is a IRS 501(c)(3) recognized tax exempt nonprofit.
We will provide written (emailed) donor acknowledgment letters to those who donate $250 or more to our organization as required by the IRS. Our apologies to donors outside of the United States. We will not be able to provide you with any tax benefits for donating to our organization.Donation acknowledgment letters will include
The corporate name and EIN of our organization
The name of the donor as it appears on PayPal
The date and ammount of the contribution
A statement that our organization is a valid 501(c)(3) organization
An affirmation that no goods or services were provided to the donor
And information about how your donation was usedThank you,
Donate Through Paypal Here -
Getting Started By Downloading Or Cloning Project Files:
(To read the directions, click the button below.)
:::
- Create a Project Directory folder in your Unreal 4 Projects Directory.
Example Structure: C:\Users\User\Documents\Unreal Projects\Directory_Name
- Download the project or Clone the development files to your Unreal 4 Projects Directory using your favorite mercurial client.
Hg Repository URL: http://repositories.metahusk.com/menu.hg
Common Mercurial Clients: SourceTree, TortoiseHG, or SmartGitHG
- Download and Install Microsoft's Visual Studio Community 2015 for Windows Desktop
4a. Navigate to \Your_Directory\Plugins and extract the files in VictoryPlugin(newest-version).zip to the plugins directory into a folder called VictoryPlugin
Plugins Directory Structure: \Your_Directory\Plugins\VictoryPlugin"plugin files"
4b. ONLY UE4.14 and PREVIOUS: Navigate to \Your_Directory\Plugins and extract the files in MainMenuLib(newest-version).zip to the plugins directory into a folder called MainMenuLib
Plugins Directory Structure: \Your_Directory\Plugins\MainMenuLib"plugin files"
4c. Navigate to \Your_Directory\Plugins and extract the files in AdvancedSessions(newest-version).zip to the plugins directory into a folder called AdvancedSessions
Plugins Directory Structure: \Your_Directory\Plugins\AdvancedSessions"plugin files"
4d. Navigate to \Your_Directory\Plugins and extract the files in LoadingScreen-master(newest-version).zip to the plugins directory into a folder called LoadingScreen-master
Plugins Directory Structure: \Your_Directory\Plugins\LoadingScreen-master"plugin files"
4e. Navigate to \Your_Directory\Plugins and extract the files in GamepadUMGPlugin(newest-version).zip to the plugins directory into a folder called GamepadUMGPlugin
Plugins Directory Structure: \Your_Directory\Plugins\GamepadUMGPlugin"plugin files"
4f. Navigate to \Your_Directory\Plugins and extract the files in PingPlugin(newest-version).zip to the plugins directory into a folder called PingPlugin
Plugins Directory Structure: \Your_Directory\Plugins\PingPlugin"plugin files"
4g. Navigate to \Your_Directory\Plugins and extract the files in VaRest(newest-version).zip to the plugins directory into a folder called VaRest
Plugins Directory Structure: \Your_Directory\Plugins\VaRest"plugin files"
-
Right Click on cardinal.uproject and click Generate Visual Studio project files.
-
Execute cardinal.uproject and click Yes to Recompile Project Modules.
-
Enable The Web Browser Plugin at Edit -> Plugins -> Widgets -> Web Browser
-
Enjoy
NOTE: To utilize Steam, you must launch as a "Standalone Game" or utilize a packaged build both with Steam running.
:::
-
How To Import Cardinal Menu To Your Project
(To read the directions, click the button below.)
:::
- Open your project's Project Directory folder in windows explorer.
Example Structure: C:\Users\User\Documents\Unreal Projects\Project_Name
- Download the project files from the webpage.
Download URL: metahusk.com/cardinal-menu/
- Convert your project to a C++ project if it's a Blueprint Only project.
-
Navigate to \Your_Directory\Content and extract the \CardinalMenu\Content\Cardinal and \CardinalMenu\Content\ThirdPersonExample and \CardinalMenu\Content\Movies into your project's content folder.
-
Navigate to \Your_Directory and extract the \CardinalMenu\Plugins folder into your project's root directory.
6a. Navigate to \Your_Directory\Plugins and extract the files in VictoryPlugin(newest-version).zip to the plugins directory into a folder called VictoryPlugin
Plugins Directory Structure: \Your_Directory\Plugins\VictoryPlugin"plugin files"
6b. ONLY UE4.14 and PREVIOUS: Navigate to \Your_Directory\Plugins and extract the files in MainMenuLib(newest-version).zip to the plugins directory into a folder called MainMenuLib
Plugins Directory Structure: \Your_Directory\Plugins\MainMenuLib"plugin files"
6c. Navigate to \Your_Directory\Plugins and extract the files in AdvancedSessions(newest-version).zip to the plugins directory into a folder called AdvancedSessions
Plugins Directory Structure: \Your_Directory\Plugins\AdvancedSessions"plugin files"
6d. Navigate to \Your_Directory\Plugins and extract the files in LoadingScreen-master(newest-version).zip to the plugins directory into a folder called LoadingScreen-master
Plugins Directory Structure: \Your_Directory\Plugins\LoadingScreen-master"plugin files"
6e. Navigate to \Your_Directory\Plugins and extract the files in GamepadUMGPlugin(newest-version).zip to the plugins directory into a folder called GamepadUMGPlugin
Plugins Directory Structure: \Your_Directory\Plugins\GamepadUMGPlugin"plugin files"
6f. Navigate to \Your_Directory\Plugins and extract the files in PingPlugin(newest-version).zip to the plugins directory into a folder called PingPlugin
Plugins Directory Structure: \Your_Directory\Plugins\PingPlugin"plugin files"
6g. Navigate to \Your_Directory\Plugins and extract the files in VaRest(newest-version).zip to the plugins directory into a folder called VaRest
Plugins Directory Structure: \Your_Directory\Plugins\VaRest"plugin files"
- Open \CardinalMenu\Source\CardinalMenu.Target.cs and paste bUsesSteam = true; into your \Your_Directory\Source\YourProject.Target.cs like so:
public class YourProjectTarget : TargetRules
{
public YourProjectTarget(TargetInfo Target)
{
Type = TargetType.Game;
bUsesSteam = true;
}- Open \CardinalMenu\Source\CardinalMenu\CardinalMenu.Build.cs and paste the PublicDependencyModuleNames and PrivateDependencyModuleNames into your \Your_Directory\Source\YourProject\YourProject.Build.cs like so:
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "AdvancedSessions", "OnlineSubsystem", "OnlineSubsystemUtils", "Networking", "Sockets", "OnlineSubsystemSteam", "OnlineSubsystemNull", "MoviePlayer" });
NOTE: If UE4.14 or previous, add "MainMenuLib" to PublicDependencyModuleNames
PrivateDependencyModuleNames.AddRange(new string[] { "OnlineSubsystem", "Sockets", "Networking", "OnlineSubsystemSteam", "OnlineSubsystemNull" });
- Open \CardinalMenu\Config\DefaultEngine.ini and paste the following into your \Your_Directory\Config\DefaultEngine.ini as shown:
[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=>(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")[OnlineSubsystem]
DefaultPlatformService=Steam
PollingIntervalInMs=20
bHasVoiceEnabled=false[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
GameServerQueryPort=27015
bRelaunchInSteam=false
GameVersion=1.0.0.0
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="/Script/OnlineSubsystemSteam.SteamNetConnection"[Voice]
bEnabled=false-
Right click on \Your_Directory\YourProject.uproject and select Generate Visual Studio project files.
-
Open YourProject.sln, in Solution Explorer (typically located on the right) right click on Games and select Build.
-
Execute cardinal.uproject and click Yes to Recompile Project Modules, if asked.
-
Open Project Settings and select Maps and Modes. Set Game Default Map and Editor Startup Map to MainMenu. Set Default GameMode to ThirdPersonGameMode. Set the Game Instance Class to BP_GameInstance.
-
Open the map MainMenu File -> Open Level at /Cardina/Mainmenu/Maps. Under the Blueprints button above the map make sure World Override is set to -> BP_MenuGameMode (should be set)
15a. Enable The Web Browser Plugin at Edit -> Plugins -> Widgets -> Web Browser
15b. UE4.14 or Previous Only Enable MainMenuLib Plugin at Edit -> Plugins -> Other -> MainMenuLib
15c. Enable Loading Screen Plugin at Edit -> Plugins -> Loading -> Loading Screen
15d. Enable Advanced Sessions Plugin at Edit -> Plugins -> Advanced Sessions Plugin -> Advanced Sessions
15e. Enable Online Subsystem Steam Plugin at Edit -> Plugins -> Online Platform -> Online Subsystem Steam
15f. Enable Gamepad UMG Plugin and Victory Plugin at Edit -> Plugins -> Installed -> Rama
15g. Enable PingPlugin and Victory Plugin at Edit -> Plugins -> Network -> Ping
15h. Enable VaRest Plugin and Victory Plugin at Edit -> Plugins -> Network -> VaRest
-
Restart The Editor and click Yes to Recompile Project Modules, if asked.
-
Set Up LoadingScreen by opening Edit -> Project Settings -> Game -> Loading Screen. Under Startup Screen Uncheck Auto Complete when Loading Completes, Check Movies are Skippable, Uncheck Wait For Manual Stop, Uncheck Show UIOverlay. Go to Movie Paths and add UE4Logo and MetahuskIntro to the array. Under Default Screen Check Auto Complete when Loading Completes, Check Movies are Skippable, Uncheck Wait For Manual Stop, Uncheck Show UIOverlay. Go to Movie Paths and add LoadingRed to the array.
-
Navigate to the MainMenu Blueprints folder at \Cardinal\MainMenu\Blueprints
-
Insert your GameModes into Enum_GameModes, list your available map names to Enum_Maps, and set your server host's preferred maximum number of players to Enum_NumberOfPlayers using the supplied pattern. For skipped number of player options, use the enumeration's integer. For the number of players option you'd like available, spell out the integer. For example: 0, 1, Three will leave a server with a maximum of "Three Players." (Please note the game modes and player limits are not implemented in the actual project. This is up to the end user to implement.)
-
Enjoy
NOTE: To utilize Steam, you must launch as a "Standalone Game" or utilize a packaged build both with Steam running.
:::
-
Modifying Starting Map or Number of Players
- Navigate to the MainMenu Blueprints folder at \Cardinal\MainMenu\Blueprints
- Insert your GameModes into Enum_GameModes, list your available map names to Enum_Maps, and set your server host's preferred maximum number of players to Enum_NumberOfPlayers using the supplied pattern.
For skipped number of player options, use the enumeration's integer. For the number of players option you'd like available, spell out the integer.
For example: 0, 1, Three will make a server with a maximum of "Three Players." (Please note the game modes and player limits are not implemented in the actual project. This is up to the end user to implement.)
Deploying Packaged Builds
In order for key bindings to work on packaged builds, you must copy Input.ini from inside your project to the build directory.
The paths and default bindings are listed below. Input.ini does not copy into the directory by itself. The default bindings are shown below for your convenience.Modifying Menu Buttons Example: Removing The Local Split Screen Button
Open the PlayGameSubMenu widget located here:
/Cardinal/MainMenu/Blueprints/UI/Submenus/PlayGameSubMenu.PlayGameSubMenu'To change the names of the buttons:
Open the Designer tab on the Widget and then navigate to SettingsButtonsLine in the Hierarchy.
In the Details tab and in the Default section and then under ButtonsNames you will see an array of the names.
Change these names to change the button names.To change the functions of the buttons:
Open the Graph tab in the widget.
Open the function called OpenDetailsContainer.
There you will see a SwitchonInt that controls each button in order from 0 to 4. This is where the button's actions are performed in order of their name listed in the array. (Like OpenMap and so on)To remove the Local Split Screen Button:
Remove the button name in the array (Array item 1)
Then move the pins from switch on int to adjust for the order change. (So 2 now goes to 1, 3 to 2, and 4 to 3)Windows US Keyboard Default Input Bindings
:::
Inside Project Directories:
\Saved\Config\Windows\Input.ini and Saved\Config\WindowsNoEditor\Input.ini and \Config\DefaultInput.ini
Inside Packaged Game Directory:
\WindowsNoEditor\CardinalMenu\Saved\Config\WindowsNoEditor\Input.iniInput.ini Default Windows Bindings:
[/Script/Engine.InputSettings]
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)[/Script/Engine.Console]
HistoryBuffer=mexit
HistoryBuffer=exit:::
Known Bugs:
(To view the known bugs, click the button below.)
:::
Bug: Client Returning to "Main Menu" can't join another game.
Fix: Fixed 08/07/2016 at Changeset - a1943cb579fcBug: The Editor's Play In Viewport option does not stretch the menu title bar all the way to the edge of the screen on some resolutions
Fix: Use Play In New Editor WindowBug: Split screen menu cannot be scaled to overlay on the calling player's screen
Fix: Unknown, possibly in future engine releaseBug: Player input control mappings are not in the correct order
Fix: The engine re-orders inputs, change them to alphabetical order in your DefaultInput.iniBug: Packaged game builds lose default control bindings
Fix: Packaging does not copy Input.ini by itself. See "Deploying Packaged Builds" aboveBug: Cannot host a session after importing project files
Fix: Make sure BP_GameInstance is set in your game modeBug: Joining players in PIE spawn as spectators and not pawns
Fix: Make sure Auto Connect To Servers is not checked under Play -> Advanced Settings -> Multiplayer optionsBug: Some listen servers do not respond to ping, instead respond with "?"
Fix: Listen server host's network configuration (firewall or router) do not respond to ICMP Pings, likely due to host's configuration. To show pings, host's router must respond to ICMP Pings. Many routers have this disabled by default.:::
-
It doesn't seem like the server lines update the number of players that are in a server, you just set TOTPLAYING to 1 and then it never gets updated. Am I missing something?
-
It doesn't seem like the server lines update the number of players that are in a server, you just set TOTPLAYING to 1 and then it never gets updated. Am I missing something?
-
The logic for the total players has to be put into game state and the Steam session has to be updated. We haven't included that logic as of yet. (Just like level transitions and so on) Basically the online session gets broadcasted once when you create the server and the gamestate never updates it.
It's not too hard to implement. You just need to count the number of players in your game and update the online session to reflect this every time someone joins and leaves the game.
We are working on a game right now. When I implement that into our game I will copy the BP nodes into the Cardinal Menu project and share it. It just hasn't been built yet.
Thanks for trying the project!
-
I should probably mention that in the documentation. I hope to have that feature implemented in a month or so.
-
Thanks Thaddeus, appreciate the explanation. I've been working on my own game myself and tried getting the current players in a server just by dragging a "Get Current Players" function off the find sessions advanced results which works for LAN but always returns as 1 for some reason with Steam. I'll have to try updating it manually like you described above.
-
Thanks Thaddeus, appreciate the explanation. I've been working on my own game myself and tried getting the current players in a server just by dragging a "Get Current Players" function off the find sessions advanced results which works for LAN but always returns as 1 for some reason with Steam. I'll have to try updating it manually like you described above.
-
We just tested 4.13 and the persistent graphics settings need to be reworked. We will probably migrate away from the MainMenuLib plugin. The update may take a while. So far no other bugs have been discovered outside of minor depreciated blueprint functions.
-
We released the project for 4.13 today. I'm not quite sure if the graphics settings will cause issues but so far I've experienced no issues. We will probably slate that fix for the next engine version. Please report any bugs you find.
-
We released a new version. This release includes a simple single player button (as requested), cleans up some of the debug printing to console, and includes a simple map loading video.
-
Why ping steam 9999 ?
-
Guest said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
Why ping steam 9999 ?
There's a bug with the engine that causes that. We are waiting until it's fixed. (Hopefully soon)
-
@Thaddeus-Delude Thanks for the reply
-
The project has been released for Unreal Engine 4.14 today. So far there have been no reported bugs. Please let us know if you find any.
-
Great work! I have been playing around it and works quite well! Out of curiosity, have you gotten this to work for a dedicated server? While i have gotten dedicated servers working in other scenarios ( Null OSS) can't seem to get one to work with Steam.
-
Great work! I have been playing around it and works quite well! Out of curiosity, have you gotten this to work for a dedicated server? While i have gotten dedicated servers working in other scenarios ( Null OSS) can't seem to get one to work with Steam.
-
Thanks. I've had a lot of trouble getting it to work with Steam. It's possible but I've been waiting to see if it gets easier with new engine releases.
-
Great work! Will there be an update to UE version 4.15? Thanks!
-
Great work! Will there be an update to UE version 4.15? Thanks!
-
JC said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
Great work! Will there be an update to UE version 4.15? Thanks!
AdvancedSessionsPlugin was reporting some problems with 4.15. Pretty soon 4.15 we will release a 4.15 version.
-
Hello it is possible to change Axis Mapping?
Thank you. -
Hello it is possible to change Axis Mapping?
Thank you. -
I mean change keybinding with AxisMappings
-
Guest said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
I mean change keybinding with AxisMappings
I'm releasing axis mapping and controller support today with the UE4.15 release! It took a while to work the bugs out.
-
The UE4.15 release includes some major changes. Here are some of the major ones.
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.
-
@Thaddeus-Delude said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
I'm releasing axis mapping and controller support today with the UE4.15 release! It took a while to work the bugs out.
Wow! that's awesome work, never would have thought it so fast!
Thank you -
Guest said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
@Thaddeus-Delude said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
I'm releasing axis mapping and controller support today with the UE4.15 release! It took a while to work the bugs out.
Wow! that's awesome work, never would have thought it so fast!
Thank youYou're welcome. Hopefully this saves people a lot of time. Binding can be kind of difficult. The inputs require alphabetical order and sometimes after packaging the game you have to re-order the defaultinput.ini controls back into alphabetical order. The menu system is getting pretty complicated. I forget where things are if I haven't worked with it in a few months.
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.iniAnd 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 play tested it for a while. I think I fixed most of the bugs. If you see one, please let me know. Thanks
-
@Thaddeus-Delude said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
You're welcome. Hopefully this saves people a lot of time. Binding can be kind of difficult. The inputs require alphabetical order and sometimes after packaging the game you have to re-order the defaultinput.ini controls back into alphabetical order. The menu system is getting pretty complicated. I forget where things are if I haven't worked with it in a few months.
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 play tested it for a while. I think I fixed most of the bugs. If you see one, please let me know. ThanksYou do not hope. YOU SAVE a lot of time of all people want use your project for prototyping game or something like that. For my mind since i played with ue4 i have seen many community helper giving some tuto you know complete solution to start with and this is very good because when you are indie or even student this type of project i guess "Cardinal Menu" is a gold mine and this can increase significantly your power!
I just want to say something last one for people looking for solide base fundation for starting game or any other. this is a MUST USE in his category.
Peace -
@Thaddeus-Delude said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
You're welcome. Hopefully this saves people a lot of time. Binding can be kind of difficult. The inputs require alphabetical order and sometimes after packaging the game you have to re-order the defaultinput.ini controls back into alphabetical order. The menu system is getting pretty complicated. I forget where things are if I haven't worked with it in a few months.
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 play tested it for a while. I think I fixed most of the bugs. If you see one, please let me know. ThanksYou do not hope. YOU SAVE a lot of time of all people want use your project for prototyping game or something like that. For my mind since i played with ue4 i have seen many community helper giving some tuto you know complete solution to start with and this is very good because when you are indie or even student this type of project i guess "Cardinal Menu" is a gold mine and this can increase significantly your power!
I just want to say something last one for people looking for solide base fundation for starting game or any other. this is a MUST USE in his category.
Peace -
Pepito is right, never seen even a package like this.
FIVE STARS TO ALL THE MEMBERS!!!! -
Pepito is right, never seen even a package like this.
FIVE STARS TO ALL THE MEMBERS!!!! -
Thanks for the encouragement. 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.
-
Hi, I'm triyng to make some test with Cardinal Menu and I found a strange behavior, If you launch 2 PIE windows and on the server windows start a network host and on the client window connect to the server (LAN, no STEAM) the gamemode is not passed to the client and you have olny the default one, just the camera.
Could someone help me with this issue?
thx
Davide -
Is the game instance set? Sometimes it becomes unset for some reason. Especially if you migrate project files.
-
Guest said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
Hi, I'm triyng to make some test with Cardinal Menu and I found a strange behavior, If you launch 2 PIE windows and on the server windows start a network host and on the client window connect to the server (LAN, no STEAM) the gamemode is not passed to the client and you have olny the default one, just the camera.
Could someone help me with this issue?
thx
DavideJust for reference in case anyone else has the same problem: The issue was resolved in the discord channel. The problem was Auto Connect to Server being checked under PIE -> Advanced Settings -> Multiplayer options.
-
Hello there!
In SettingsSubMenu, on Open Detail Container, in the comment Change Apply Settings And Defaults Names,
There is a check if InGameMenu existe "Check If In Game Widget - Can't Use Defaults If In Game"
But this check does nothing ?I would like to know if we can't do something if In Game VS in menu.
Thanks
-
Hello there!
In SettingsSubMenu, on Open Detail Container, in the comment Change Apply Settings And Defaults Names,
There is a check if InGameMenu existe "Check If In Game Widget - Can't Use Defaults If In Game"
But this check does nothing ?I would like to know if we can't do something if In Game VS in menu.
Thanks
-
Zeroneus said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
Hello there!
In SettingsSubMenu, on Open Detail Container, in the comment Change Apply Settings And Defaults Names,
There is a check if InGameMenu existe "Check If In Game Widget - Can't Use Defaults If In Game"
But this check does nothing ?I would like to know if we can't do something if In Game VS in menu.
Thanks
I'm taking a look. I think it's depreciated. The menu has been in production under a lot of different engine releases. I'll get back to you.
Edit: Ah, that part is confusing and could use a lot of rework. Basically the ending parts of the function OpenDetailsContainer remove or rename the buttons on the bottom of the panels The "Apply - Defaults" button. The names are being changed on runtime or they are being hidden depending on what panel is being selected.
LocalDetailsPanelID "2" is the Controls panel I believe.
There were bugs with setting / rebinding controls while the game was in progress. That part makes sure you go back to the main menu to set the controls back to defaults. If I remember right, it's because of how UE4 sorts control mappings automatically. It took a long time to find a method that worked and "applying defaults" while in game caused problems. (The MainMenu map has no controls really, so you just don't see the problems when you apply defaults.)
We might solve that issue in the future. It's not a huge priority right now, though.
I'm not sure if that made sense? Basically, it makes it so the default controls can only be set in the MainMenu. Running through the array of default controls while the game is in progress has caused problems in testing. If that wasn't your question, let me know.
-
I pressed set default controls and it deleted all the controls, how can i come back to normal ?
-
@Thaddeus-Delude
Where are the default inputs ? not in DefaultInput it seems
-
@Thaddeus-Delude
Where are the default inputs ? not in DefaultInput it seems
-
Guest said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
I pressed set default controls and it deleted all the controls, how can i come back to normal ?
Here are where the controls are stored.
- Input.ini and in your configs
- The DefaultActionBinds in ControlsSettingsDetails located at /Game/Cardinal/MainMenu/Blueprints/UI/SettingsPanels/ControlsSettingsDetails
- DefaultAxisBinds located in RAMA-AxisControls at /Game/Cardinal/MainMenu/Blueprints/UI/SettingsPanels/RAMA-AxisControls
The order matters to the engine. It should be alphabetical. To my knowledge, nobody has come up with a better method without programming one or using a form of real time binds on every tick. (Bypassing UE4's method basically) It's a pain to work with. Good luck!
-
Guest said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
I pressed set default controls and it deleted all the controls, how can i come back to normal ?
Before changing anything, I'd try closing the editor and launching it again. If you're in a packaged build, check your Input.ini to make sure the binds are there. I have to manually paste them on every build.
-
@Thaddeus-Delude
You have to paste your saved inputs cause they are deleted with new builds ?
Not very useful :s
-
Guest said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
I pressed set default controls and it deleted all the controls, how can i come back to normal ?
Also, the arrays holding the default binds have to be exactly the same as the Input.ini. /ProjectSettings/Input doesn't seem to be a good way to modify the binds. Sometimes it doesn't update accurately without launching the editor again. You can find some posts on Epics forums talking about these issues.
-
Guest said in Community Project | Cardinal Menu System Instructions, Help, and Discussion:
@Thaddeus-Delude
You have to paste your saved inputs cause they are deleted with new builds ?
Not very useful :s
You're welcome to re-design it if you'd like. There's a reason Rama's plugin works the way it does. I didn't design UE4's input system and I'm definitely not an expert in it. If you mess with it for a few hours, it will start to make sense. https://forums.unrealengine.com/showthread.php?51449-Full-Project-Rama-s-UMG-Rebindable-Key-System-Rebind-keys-at-Runtime!
To answer your questions, I'd have to spend a few hours reading about it again. I'm working on AI stuff at the moment and just finished a JSON/REST server browser system. That's mostly what's at the top of my mind right now. I'm not smart enough to remember things I worked on in the past without brushing up again. Sorry