So I have been hacking away at this for probably more hours than a programmer of even below average skill. I am using a blend of blueprints and c++, not sure if that changes anything. I have followed the networking tutorials and can build a developmental project where I use the command line with "open <mapname>?listen" then on a separate computer do "open IP address" and join that session. So victory there. I can also setup behaviors in blueprints and have my keybindings working on both the server and the host.
How do I get voice to work over that? I started with a blank coding template and I have tried to use shooter game and what I can find online. I'm doing this on Mac's by the way. So in my DefaultEngine.ini file I put:
The shooter game code had a DefaultGame.ini, which wasn't a part of the blank project so I added one that says:
My project is called PleaseTalk, so here is my PleaseTalk.h file, also borrowed from shooter game:
In my player controller I added this just to see if I needed to call the talking function:
Everyone says look at the shooter game example, but what files need to be brought into other projects? I've had people suggest look at ShooterGameSession.h/.cpp, but when I try to copy that script in I end up needing stuff from other scripts. Do I need to code a player state, online game settings, a game state, a game instance, an HUD main menu? The more I bring over, the more compiling errors demand I bring over more scripts from the shooter game example.
How do I get voice to work over that? I started with a blank coding template and I have tried to use shooter game and what I can find online. I'm doing this on Mac's by the way. So in my DefaultEngine.ini file I put:
Code:
[OnlineSubsystem] DefaultPlatformService=Null bHasVoiceEnabled=true PollingIntervalInMs=20 [/Script/OnlineSubsystemUtils.IpNetDriver] InitialConnectTimeout=120.0 [Voice] bEnabled=true
Code:
[/Script/EngineSettings.GeneralProjectSettings] bRequiresPushToTalk=false
Code:
#pragma once #include "Engine.h" #include "Net/UnrealNetwork.h" #define MAX_PLAYER_NAME_LENGTH 2 /** Set to 1 to pretend we're building for console even on a PC, for testing purposes */ #define PLEASETALK_SIMULATE_CONSOLE_UI 0 #if PLATFORM_PS4 || PLATFORM_XBOXONE || ******_SIMULATE_CONSOLE_UI #define PLEASETALK_CONSOLE_UI 1 #else #define PLEASETALK_CONSOLE_UI 0 #endif
Code:
void APleaseTalkPlayerController::SetupInputComponent() { Super::SetupInputComponent(); // voice chat InputComponent->BindAction("LiveTalk", IE_Pressed, this, &APlayerController::StartTalking); InputComponent->BindAction("LiveTalk", IE_Released, this, &APlayerController::StopTalking); }