mirror of
https://github.com/Risensy/Steam.git
synced 2025-10-22 16:04:19 +00:00
Steam Voice Chat
Added Steam Voice Chat
This commit is contained in:
@@ -12,7 +12,7 @@ GlobalDefaultGameMode=/Game/ThirdPerson/Blueprints/BP_ThirdPersonGameMode.BP_Thi
|
||||
GlobalDefaultServerGameMode=None
|
||||
|
||||
[/Script/Engine.RendererSettings]
|
||||
r.ReflectionMethod=2
|
||||
r.ReflectionMethod=0
|
||||
r.GenerateMeshDistanceFields=False
|
||||
r.DynamicGlobalIlluminationMethod=0
|
||||
r.Lumen.TraceMeshSDFs=1
|
||||
@@ -22,6 +22,7 @@ r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True
|
||||
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=true
|
||||
net.AllowPIESeamlessTravel=true
|
||||
r.DefaultFeature.AutoExposure=False
|
||||
r.Lumen.Reflections.HardwareRayTracing.Translucent.Refraction.EnableForProject=False
|
||||
|
||||
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
|
||||
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
|
||||
@@ -82,6 +83,16 @@ ManualIPAddress=
|
||||
|
||||
[OnlineSubsystem]
|
||||
DefaultPlatformService=Steam
|
||||
bHasVoiceEnabled=true
|
||||
VoiceNotificationDelta=0.2
|
||||
MaxLocalTalkers=1
|
||||
MaxRemoteTalkers=16
|
||||
PollingIntervalInMs=20
|
||||
bUseBuildIdOverride=false
|
||||
BuildIdOverride=0
|
||||
!AdditionalModulesToLoad=Clear
|
||||
+AdditionalModulesToLoad=HTTP
|
||||
+AdditionalModulesToLoad=XMPP
|
||||
|
||||
[OnlineSubsystemSteam]
|
||||
bEnabled=true
|
||||
@@ -94,3 +105,11 @@ bAllowP2PPacketRelay=true
|
||||
|
||||
[/Script/OnlineSubsystemSteam.SteamNetDriver]
|
||||
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
|
||||
|
||||
[Voice]
|
||||
bEnabled=true
|
||||
|
||||
[/Script/Engine.AudioSettings]
|
||||
VoiPSoundClass=/Engine/EngineSounds/Voice.Voice
|
||||
VoiPSampleRate=Normal24000Hz
|
||||
|
||||
|
@@ -107,3 +107,5 @@ PerPlatformBuildConfig=()
|
||||
PerPlatformTargetFlavorName=(("Android", "Android_ASTC"))
|
||||
PerPlatformBuildTarget=()
|
||||
|
||||
[/Script/Engine.GameSession]
|
||||
bRequiresPushToTalk=true
|
Binary file not shown.
Binary file not shown.
BIN
Content/ThirdPerson/Blueprints/BPI_GameMode.uasset
Normal file
BIN
Content/ThirdPerson/Blueprints/BPI_GameMode.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/ThirdPerson/Blueprints/VOIP/E_VoiceMode.uasset
Normal file
BIN
Content/ThirdPerson/Blueprints/VOIP/E_VoiceMode.uasset
Normal file
Binary file not shown.
BIN
Content/ThirdPerson/Blueprints/VOIP/SA_VOIP.uasset
Normal file
BIN
Content/ThirdPerson/Blueprints/VOIP/SA_VOIP.uasset
Normal file
Binary file not shown.
BIN
Content/ThirdPerson/Blueprints/VOIP/SCM_MuteVoice.uasset
Normal file
BIN
Content/ThirdPerson/Blueprints/VOIP/SCM_MuteVoice.uasset
Normal file
Binary file not shown.
BIN
Content/ThirdPerson/Blueprints/VOIP/SCM_UnmuteVoice.uasset
Normal file
BIN
Content/ThirdPerson/Blueprints/VOIP/SCM_UnmuteVoice.uasset
Normal file
Binary file not shown.
BIN
Content/ThirdPerson/Blueprints/VOIP/SEPC_Radio.uasset
Normal file
BIN
Content/ThirdPerson/Blueprints/VOIP/SEPC_Radio.uasset
Normal file
Binary file not shown.
BIN
Content/ThirdPerson/Blueprints/VOIP/SEP_Radio.uasset
Normal file
BIN
Content/ThirdPerson/Blueprints/VOIP/SEP_Radio.uasset
Normal file
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
@@ -102,6 +102,14 @@ void UFindFriendSessionCallbackProxy::OnFindFriendSessionCompleted(int32 LocalPl
|
||||
{
|
||||
FBlueprintSessionResult BSesh;
|
||||
BSesh.OnlineResult = Sesh;
|
||||
|
||||
// Temp for 5.5, force the values if epic isn't setting them, lobbies should always have these true
|
||||
if (!BSesh.OnlineResult.Session.SessionSettings.bIsDedicated)
|
||||
{
|
||||
BSesh.OnlineResult.Session.SessionSettings.bUseLobbiesIfAvailable = true;
|
||||
BSesh.OnlineResult.Session.SessionSettings.bUsesPresence = true;
|
||||
}
|
||||
|
||||
Result.Add(BSesh);
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
@@ -38,14 +38,27 @@ public:
|
||||
void Initialize(USteamNotificationsSubsystem* MyParent)
|
||||
{
|
||||
ParentSubsystem = MyParent;
|
||||
|
||||
#if (PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX) && STEAM_SDK_INSTALLED
|
||||
OnExternalUITriggeredCallback.Register(this, &USteamNotificationsSubsystem::cSteamEventsStore::OnExternalUITriggered);
|
||||
#endif
|
||||
}
|
||||
|
||||
void UnInitialize(USteamNotificationsSubsystem* MyParent)
|
||||
{
|
||||
#if (PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX) && STEAM_SDK_INSTALLED
|
||||
OnExternalUITriggeredCallback.Unregister();
|
||||
#endif
|
||||
}
|
||||
|
||||
#if (PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX) && STEAM_SDK_INSTALLED
|
||||
cSteamEventsStore() :
|
||||
OnExternalUITriggeredCallback(this, &cSteamEventsStore::OnExternalUITriggered)
|
||||
cSteamEventsStore()
|
||||
{}
|
||||
//:
|
||||
/*OnExternalUITriggeredCallback(this, &cSteamEventsStore::OnExternalUITriggered)
|
||||
{
|
||||
|
||||
}
|
||||
}*/
|
||||
#else
|
||||
//cSteamEventsStore()
|
||||
//{
|
||||
@@ -57,7 +70,8 @@ public:
|
||||
|
||||
private:
|
||||
#if (PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX) && STEAM_SDK_INSTALLED
|
||||
STEAM_CALLBACK(cSteamEventsStore, OnExternalUITriggered, GameOverlayActivated_t, OnExternalUITriggeredCallback);
|
||||
//STEAM_CALLBACK(cSteamEventsStore, OnExternalUITriggered, GameOverlayActivated_t, OnExternalUITriggeredCallback);
|
||||
STEAM_CALLBACK_MANUAL(cSteamEventsStore, OnExternalUITriggered, GameOverlayActivated_t, OnExternalUITriggeredCallback);
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -72,7 +86,7 @@ public:
|
||||
/** Implement this for deinitialization of instances of the system */
|
||||
virtual void Deinitialize() override
|
||||
{
|
||||
|
||||
MyEvents.UnInitialize(this);
|
||||
}
|
||||
};
|
||||
|
Binary file not shown.
1
Plugins/AdvancedSessions/README.md
Normal file
1
Plugins/AdvancedSessions/README.md
Normal file
@@ -0,0 +1 @@
|
||||
Readme and documentation will be worked on soon
|
@@ -1,2 +0,0 @@
|
||||
* text=auto
|
||||
*.bat eol=crlf
|
10
Plugins/AdvancedSessionsPlugin-master/.gitignore
vendored
10
Plugins/AdvancedSessionsPlugin-master/.gitignore
vendored
@@ -1,10 +0,0 @@
|
||||
|
||||
.hg/
|
||||
binaries/
|
||||
deriveddatacache/
|
||||
.vs/
|
||||
build/
|
||||
intermediate/
|
||||
PACKPLUGIN/
|
||||
saved/
|
||||
*.orig
|
@@ -1,7 +0,0 @@
|
||||
### How do I use it? ###
|
||||
|
||||
**KantanDocGen Automatic Documentation ([KantanDocGen](http://kantandev.com/free/kantan-doc-gen))**
|
||||
|
||||
**[AdvancedSessions](https://vreue4.com/generated-node-documentation?section=advanced-sessions-plugin)**
|
||||
|
||||
**[AdvancedSteamSessions](https://vreue4.com/generated-node-documentation?section=advanced-steam-sessions-plugin)**
|
23
Source/Steam/Private/VOIPLIB.cpp
Normal file
23
Source/Steam/Private/VOIPLIB.cpp
Normal file
@@ -0,0 +1,23 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "VOIPLIB.h"
|
||||
|
||||
void UVOIPLIB::ClearVoicePackets(UObject* WorldContextObject)
|
||||
{
|
||||
UWorld* const World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull);
|
||||
if (!IsValid(World))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
IOnlineVoicePtr VoiceInterface = Online::GetVoiceInterface(World);
|
||||
|
||||
if (!VoiceInterface.IsValid())
|
||||
{
|
||||
UE_LOG(LogTemp, Warning, TEXT("Clear voice packets couldn't get the voice interface!"));
|
||||
}
|
||||
|
||||
VoiceInterface->ClearVoicePackets();
|
||||
|
||||
}
|
26
Source/Steam/Public/VOIPLIB.h
Normal file
26
Source/Steam/Public/VOIPLIB.h
Normal file
@@ -0,0 +1,26 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Kismet/BlueprintFunctionLibrary.h"
|
||||
#include "BlueprintDataDefinitions.h"
|
||||
#include "Online.h"
|
||||
#include "OnlineSubsystem.h"
|
||||
#include "Interfaces/VoiceInterface.h"
|
||||
#include "Engine/GameInstance.h"
|
||||
#include "UObject/UObjectIterator.h"
|
||||
#include "VOIPLIB.generated.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class STEAM_API UVOIPLIB : public UBlueprintFunctionLibrary
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UFUNCTION(BlueprintCallable, Category = "VOIPLIB")
|
||||
static void ClearVoicePackets(UObject* WorldContextObject);
|
||||
};
|
@@ -8,7 +8,7 @@ public class Steam : ModuleRules
|
||||
{
|
||||
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||
|
||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
|
||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "OnlineSubsystem", "AdvancedSessions" });
|
||||
|
||||
PrivateDependencyModuleNames.AddRange(new string[] { });
|
||||
|
||||
|
@@ -7,7 +7,10 @@
|
||||
{
|
||||
"Name": "Steam",
|
||||
"Type": "Runtime",
|
||||
"LoadingPhase": "Default"
|
||||
"LoadingPhase": "Default",
|
||||
"AdditionalDependencies": [
|
||||
"Engine"
|
||||
]
|
||||
}
|
||||
],
|
||||
"Plugins": [
|
||||
@@ -48,6 +51,10 @@
|
||||
{
|
||||
"Name": "OnlineSubsystemNull",
|
||||
"Enabled": true
|
||||
},
|
||||
{
|
||||
"Name": "SoundUtilities",
|
||||
"Enabled": true
|
||||
}
|
||||
],
|
||||
"TargetPlatforms": [
|
||||
|
13
Voice Chat Forums.txt
Normal file
13
Voice Chat Forums.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
Voice audio settings - https://forums.unrealengine.com/t/why-is-my-mic-volume-extemely-low/472329/8?u=risensyofficial
|
||||
|
||||
Voice very quiet with poor quality audio - https://forums.unrealengine.com/t/voiptalker-mic-pickup-very-quiet-with-poor-quality-audio-playback-4-26/211239/3?u=risensyofficial
|
||||
|
||||
The solution that I initially chose, but then adapted and optimized for the final result that I showed in the video - https://forums.unrealengine.com/t/voice-chat-is-not-attenuating/1279745?u=risensyofficial
|
||||
|
||||
VOIP instability in OSS Steam - https://forums.unrealengine.com/t/voip-unstable-on-steam-network-saturated/372459/15?u=risensyofficial
|
||||
|
||||
VOIP Game Crash When Player Kicks - https://forums.unrealengine.com/t/voip-crashes-game-if-player-is-kicked-by-server/485596?u=risensyofficial
|
||||
|
||||
Lag, distortion in VOIP in OSS Steam - https://forums.unrealengine.com/t/state-of-voice-chat-using-the-steam-subsystem/130385?u=risensyofficial
|
||||
|
||||
Message that functions such as Remote Talker and others where the word "Remote" is present require another computer - https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/2022?u=risensyofficial
|
Reference in New Issue
Block a user