edit level
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
<body>
|
||||
<div class="docs-body">
|
||||
<div class="manual-toc">
|
||||
<p>Unreal Integration 2.02</p>
|
||||
<p>Unreal Integration 2.03</p>
|
||||
<ul>
|
||||
<li><a href="welcome.html">Welcome to FMOD for Unreal</a></li>
|
||||
<li><a href="user-guide.html">User Guide</a></li>
|
||||
@ -87,15 +87,6 @@
|
||||
<li><a href="#live-update">Live Update</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#xbox-one_1">Xbox One</a><ul>
|
||||
<li><a href="#enabling-xboxone-microphone-input">Enabling XboxOne Microphone Input</a></li>
|
||||
<li><a href="#enabling-live-update_2">Enabling Live Update</a></li>
|
||||
<li><a href="#packaging_9">Packaging</a></li>
|
||||
<li><a href="#disabling-the-unreal-audio-device_5">Disabling the Unreal Audio Device</a></li>
|
||||
<li><a href="#copying-dlls-to-build">Copying dll's to build</a></li>
|
||||
<li><a href="#submission-validator">Submission Validator</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="troubleshooting.html">Troubleshooting</a></li>
|
||||
@ -461,115 +452,9 @@ AudioMixerModuleName=
|
||||
<p>If Live Update has been enabled in the FMOD for Unreal Settings, the integration will attempt to open a port on the Dev Kit for FMOD Studio to connect to.</p>
|
||||
<p>If the integration is unsuccessful it will print out the reason to the logs, otherwise you will see the IP address used in the log:</p>
|
||||
<div class="highlight language-text"><pre><span></span>IP address: 192.168.1.189
|
||||
</pre></div>
|
||||
</pre></div></div>
|
||||
|
||||
<h2 id="xbox-one_1"><a href="#xbox-one_1">8.10 Xbox One</a></h2>
|
||||
<h3 id="enabling-xboxone-microphone-input"><a href="#enabling-xboxone-microphone-input">8.10.1 Enabling XboxOne Microphone Input</a></h3>
|
||||
<p>To enable FMOD Studio the use of any microphone input, including Kinect, on the Xbox One. The Engine ini file specific for the platform, located in <code>/Config/XboxOne/XboxOneEngine.ini</code>, needs to have the following lines added:</p>
|
||||
<div class="highlight language-xml"><pre><span></span>[AppxManifest]
|
||||
Package.Capabilities.mx:Capability[0].Name=kinectAudio
|
||||
Package.Capabilities.mx:Capability[1].Name=kinectGamechat
|
||||
</pre></div>
|
||||
|
||||
<h3 id="enabling-live-update_2"><a href="#enabling-live-update_2">8.10.2 Enabling Live Update</a></h3>
|
||||
<p>To enable Live Update the Unreal Xbox One project settings must be modified to allow FMOD to open the Live Update port from the running game. Access the settings by opening the <strong>Project Settings</strong> editor from the <strong>Edit</strong> menu, then navigate to Xbox One platform settings. Under the <strong>Network</strong> category, add the following entries to the <strong>Secure Socket Descriptions</strong> and <strong>Secure Socket Associations</strong> settings:<br />
|
||||
<img alt="Settings" src="images/xboxone-enable-liveupdate.png" /></p>
|
||||
<h3 id="packaging_9"><a href="#packaging_9">8.10.3 Packaging</a></h3>
|
||||
<p>Banks for the Xbox One are expected to be located in the <code>XboxOne</code> sub-directory of the Studio built banks output directory. This sub-directory name is hardcoded in the integration so if you want to use a different location you would need to modify the integration source code.</p>
|
||||
<p>To package the Xbox One specific banks add these lines to <code>Platforms\XboxOne\Config\XboxOneGame.ini</code>:</p>
|
||||
<div class="highlight language-text"><pre><span></span>[/Script/UnrealEd.ProjectPackagingSettings]
|
||||
-DirectoriesToAlwaysStageAsNonUFS=(Path="FMOD/Desktop")
|
||||
+DirectoriesToAlwaysStageAsNonUFS=(Path="FMOD/XboxOne")
|
||||
</pre></div>
|
||||
|
||||
<h3 id="disabling-the-unreal-audio-device_5"><a href="#disabling-the-unreal-audio-device_5">8.10.4 Disabling the Unreal Audio Device</a></h3>
|
||||
<p>FMOD will not work with inbuilt Unreal audio on Xbox One. You will need to disable the Unreal Audio Device by creating a new file <code>Config\XboxOne\XboxOneEngine.ini</code> with this section:</p>
|
||||
<div class="highlight language-text"><pre><span></span>[Audio]
|
||||
AudioDeviceModuleName=
|
||||
AudioMixerModuleName=
|
||||
</pre></div>
|
||||
|
||||
<h3 id="copying-dlls-to-build"><a href="#copying-dlls-to-build">8.10.5 Copying dll's to build</a></h3>
|
||||
<div class="admonition warning">
|
||||
<p>This has been solved in 2.01.07, you only need to follow these steps if you are using an older version.</p>
|
||||
</div>
|
||||
<p>Add the following to GetFilesToDeployOrStage in XboxOnePlatform.Automation.cs, before the end of the function:</p>
|
||||
<div class="highlight language-text"><pre><span></span>// FMOD code start
|
||||
DirectoryReference FMODDLLPath = null;
|
||||
if (Directory.Exists(Path.Combine(SC.ProjectRoot.ToString(), "Plugins/FMODStudio")))
|
||||
{
|
||||
FMODDLLPath = DirectoryReference.Combine(SC.ProjectRoot, "Plugins/FMODStudio/Binaries/XBoxOne/");
|
||||
}
|
||||
else if (Directory.Exists(Path.Combine(SC.LocalRoot.ToString(), "Engine/Plugins/FMODStudio")))
|
||||
{
|
||||
FMODDLLPath = DirectoryReference.Combine(SC.LocalRoot, "Engine/Plugins/FMODStudio/Binaries/XBoxOne/");
|
||||
}
|
||||
else
|
||||
{
|
||||
LogError("Failed to find FMODStudio plugin in game or engine directory");
|
||||
}
|
||||
if (FMODDLLPath != null)
|
||||
{
|
||||
Log.TraceInformation("Copying FMOD dlls to loose directory: " + RelativeBinPath);
|
||||
StagedDirectoryReference RelativeBinPathRef = new StagedDirectoryReference(RelativeBinPath);
|
||||
StageFileIfExists(StagedFileType.NonUFS, FileReference.Combine(FMODDLLPath, "fmod.dll"), RelativeBinPathRef, SC);
|
||||
StageFileIfExists(StagedFileType.NonUFS, FileReference.Combine(FMODDLLPath, "fmodL.dll"), RelativeBinPathRef, SC);
|
||||
StageFileIfExists(StagedFileType.NonUFS, FileReference.Combine(FMODDLLPath, "fmodstudio.dll"), RelativeBinPathRef, SC);
|
||||
StageFileIfExists(StagedFileType.NonUFS, FileReference.Combine(FMODDLLPath, "fmodstudioL.dll"), RelativeBinPathRef, SC);
|
||||
}
|
||||
// FMOD code end
|
||||
</pre></div>
|
||||
|
||||
<p>Add the following to PrepTargetForDeployment in XboxOneDeploy.cs, in the same scope as 'DestDir':</p>
|
||||
<div class="highlight language-text"><pre><span></span>// FMOD code start
|
||||
string FMODDLLPath = null;
|
||||
if (Directory.Exists(Path.Combine(ProjectDirectory.FullName, "Plugins/FMODStudio")))
|
||||
{
|
||||
FMODDLLPath = Path.Combine(ProjectDirectory.FullName, "Plugins/FMODStudio/Binaries/XBoxOne/");
|
||||
}
|
||||
else if (Directory.Exists(Path.Combine(RelativeEnginePath, "Plugins/FMODStudio")))
|
||||
{
|
||||
FMODDLLPath = Path.Combine(RelativeEnginePath, "Plugins/FMODStudio/Binaries/XBoxOne/");
|
||||
}
|
||||
else
|
||||
{
|
||||
Log.TraceWarning("Failed to find FMODStudio plugin in game or engine directory");
|
||||
}
|
||||
if (FMODDLLPath != null)
|
||||
{
|
||||
Log.TraceInformation("...copying the FMOD dlls...");
|
||||
string FMODDLLName = "fmod.dll";
|
||||
Log.TraceInformation("\tcopying " + FMODDLLPath + FMODDLLName + " to " + DestDir + "/" + FMODDLLName);
|
||||
CopyFile(FMODDLLPath + FMODDLLName, DestDir + "/" + FMODDLLName, true);
|
||||
FMODDLLName = "fmodL.dll";
|
||||
Log.TraceInformation("\tcopying " + FMODDLLPath + FMODDLLName + " to " + DestDir + "/" + FMODDLLName);
|
||||
CopyFile(FMODDLLPath + FMODDLLName, DestDir + "/" + FMODDLLName, true);
|
||||
FMODDLLName = "fmodstudio.dll";
|
||||
Log.TraceInformation("\tcopying " + FMODDLLPath + FMODDLLName + " to " + DestDir + "/" + FMODDLLName);
|
||||
CopyFile(FMODDLLPath + FMODDLLName, DestDir + "/" + FMODDLLName, true);
|
||||
FMODDLLName = "fmodstudioL.dll";
|
||||
Log.TraceInformation("\tcopying " + FMODDLLPath + FMODDLLName + " to " + DestDir + "/" + FMODDLLName);
|
||||
CopyFile(FMODDLLPath + FMODDLLName, DestDir + "/" + FMODDLLName, true);
|
||||
}
|
||||
// FMOD code end
|
||||
</pre></div>
|
||||
|
||||
<h3 id="submission-validator"><a href="#submission-validator">8.10.6 Submission Validator</a></h3>
|
||||
<p>The XboxOne validaition tool uses <code>_NT_SYMBOL_PATH</code> environment variable to know where to look for PDBs.<br />
|
||||
In 'XboxOnePlatform.Automation.cs' is where Unreal overrides _NT_SYMBOL_PATH:</p>
|
||||
<div class="highlight language-text"><pre><span></span>EnvironmentVariables.Add("_NT_SYMBOL_PATH", Params.GetProjectBinariesPathForPlatform(UnrealTargetPlatform.XboxOne).ToString());
|
||||
</pre></div>
|
||||
|
||||
<p>We want to change this to add to it:</p>
|
||||
<div class="highlight language-text"><pre><span></span>string SymbolPath = Params.GetProjectBinariesPathForPlatform(UnrealTargetPlatform.XboxOne).ToString() + ";" + CommandUtils.GetEnvVar("_NT_SYMBOL_PATH");
|
||||
EnvironmentVariables.Add("_NT_SYMBOL_PATH", SymbolPath);
|
||||
</pre></div>
|
||||
|
||||
<p>Now it keeps the original value as well as adding its own path.</p>
|
||||
<p>Then, on your build machine you need to set the value of <code>_NT_SYMBOL_PATH</code> to where the FMOD PDBs will be.<br />
|
||||
Eg. "[MyGame]\Plugins\FMODStudio\Binaries\XBoxOne" or "[MyGame]\Platforms\XboxOne\Plugins\FMODStudio\Binaries".</p></div>
|
||||
|
||||
<p class="manual-footer">Unreal Integration 2.02.26 (2024-12-11). © 2024 Firelight Technologies Pty Ltd.</p>
|
||||
<p class="manual-footer">Unreal Integration 2.03.07 (2025-04-01). © 2025 Firelight Technologies Pty Ltd.</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
Reference in New Issue
Block a user