Unreal Integration 2.02
This class inherits from UObject.
Defines:
Properties:
FMOD Logging level.
enum EFMODLogging
{
LEVEL_NONE = 0,
LEVEL_ERROR = 1,
LEVEL_WARNING = 2,
LEVEL_LOG = 4
};
Project output format, should match the mode set up for the Studio project.
namespace EFMODSpeakerMode
{
enum Type
{
Stereo,
Surround_5_1,
Surround_7_1,
Surround_7_1_4
};
}
This setting must match the corresponding project platform in the FMOD Studio build settings.
FMOD System Output modes.
namespace EFMODOutput
{
enum Type
{
TYPE_AUTODETECT,
TYPE_NOSOUND,
TYPE_WASAPI,
TYPE_ASIO,
TYPE_PULSEAUDIO,
TYPE_ALSA,
TYPE_COREAUDIO,
TYPE_AUDIOTRACK,
TYPE_OPENSL,
TYPE_AUDIOOUT,
TYPE_AUDIO3D,
TYPE_NNAUDIO,
TYPE_WINSONIC,
TYPE_AAUDIO,
};
}
Target Platforms.
namespace EFMODPlatforms
{
enum Type
{
Windows,
Linux,
Mac,
Android,
IOS,
PS4,
PS5,
Deprecated,
Switch,
XboxOne,
XSX,
Editor
};
}
Encoding formats.
namespace EFMODCodec
{
enum Type
{
VORBIS,
FADPCM,
OPUS,
XMA,
AT9,
};
}
Use specific memory pool size for platform, in bytes. Disabled by default.
struct FCustomPoolSizes
{
int32 Desktop;
int32 Mobile;
int32 PS4;
int32 Switch;
int32 XboxOne;
};
(Disabled) units in bytes.
(Disabled) units in bytes.
(Disabled) units in bytes.
(Disabled) units in bytes.
(Disabled) units in bytes.
FMOD may become unstable if the limit is exceeded!
Locales for localized banks. Theses should match the project locales configured in the FMOD Studio Project.
struct FFMOD::ProjectLocale
{
FString LocaleName;
FString LocaleCode;
bool bDefault;
};
This section contains settings that can be set per platform.
struct FFMODPlatformSettings
{
int32 RealChannelCount;
int32 SampleRate;
TEnumAsByte<EFMODSpeakerMode::Type> SpeakerMode;
TEnumAsByte<EFMODOutput::Type> OutputType;
int32 CustomPoolSize;
TMap<TEnumAsByte<EFMODCodec::Type>, int32> Codecs;
};
Load all banks at startup.
bool bLoadAllBanks;
Load all banks sample data into memory at start up.
bool bLoadAllSampleData;
Enable live update in non-final builds.
bool bEnableLiveUpdate;
Enable live update in Editor for Auditioning. Requires Restart
bool bEnableEditorLiveUpdate;
Will log internal API errors when enabled.
bool bEnableAPIErrorLogging;
Enables the FMOD_STUDIO_INIT_MEMORY_TRACKING flag in the FMOD Studio system.
bool bEnableMemoryTracking;
See Also: FMOD_STUDIO_INIT_MEMORY_TRACKING
Path to find your studio bank output directory, relative to Content directory.
FDirectoryPath BankOutputDirectory;
Project output format, should match the mode set up for the Studio project.
TEnumAsByte<EFMODSpeakerMode::Type> OutputFormat;
Built-in output types that can be used to run the mixer.
TEnumAsByte<EFMODOutput::Type> OutputType;
Locales for localized banks. These should match the project locales configured in the FMOD Studio project.
TArray<FFMODProjectLocale> Locales;
Enable vol0virtual, which means voices with low volume will automatically go virtual to save CPU.
bool bVol0Virtual;
If vol0virtual is enabled, the signal level at which to make channels virtual.
float Vol0VirtualLevel;
Sample rate to use, or 0 to match system rate.eg. 0, 22050, 24000, 32000, 44100, 48000.
int32 SampleRate;
Match hardware sample rate where reasonable (44.1kHz to 48kHz).
bool bMatchHardwareSampleRate;
Number of actual software voices that can be used at once.
int32 RealChannelCount;
Total number of voices available that can be either real or virtual.
int32 TotalChannelCount;
DSP mixer buffer length (eg. 512, 1024) or 0 for system default.
int32 DSPBufferLength;
When changing the Buffer Length, Buffer Count also needs to be set.
DSP mixer buffer count (eg. 2, 4) or 0 for system default.
int32 DSPBufferCount;
When changing the Buffer Count, Buffer Length also needs to be set.
File buffer size in bytes (2048 by default).
int32 FileBufferSize;
Studio update period in milliseconds, or 0 for default (which means 20ms).
int32 StudioUpdatePeriod;
Output device to choose at system start up, or empty for default.
FString InitialOutputDriverName;
Lock all mixer buses at startup, making sure they are created up front.
bool bLockAllBuses;
Use specified memory pool size for platform, units in bytes. Disabled by default. FMOD may become unstable if the limit is exceeded!
FCustomPoolSizes MemoryPoolSizes;
Live update port to use, or 0 for default.
int32 LiveUpdatePort;
Live update port to use while in editor for auditioning. Requires Restart
int32 EditorLiveUpdatePort;
Delay in seconds before automatically reloading modified banks from disk.
int32 ReloadBanksDelay;
This can be extended if building banks takes a long time and UE4 tries to reload banks before building is completed. Set to 0 to disable automatic bank reloading.
Enables the FMOD_STUDIO_INIT_MEMORY_TRACKING flag in the FMOD Studio system.
bool bEnableMemoryTracking;
See Also: FMOD_STUDIO_INIT_MEMORY_TRACKING
Extra plugin files to load. The plugin files should sit alongside the FMOD dynamic libraries in the ThirdParty directory.
TArray<FString> PluginFiles;
Directory for content to appear in content window. Be careful changing this!
FString ContentBrowserPrefix;
Force platform directory name, or leave empty for automatic (Desktop/Mobile/PS4/XBoxOne)
FString ForcePlatformName;
Name of master bank. The default in Studio is "Master".
FString MasterBankName;
Skip bank files of the given name. Can be used to load all banks except for a certain set, such as localization banks.
FString SkipLoadBankName;
Specify the key for loading sounds from encrypted banks.
FString StudioBankKey;
Force wav writer output, for debugging only. Setting this will prevent normal sound output!
FString WavWriterPath;
Specify the logging level to use in a debug/development build.
TEnumAsByte<EFMODLogging> LoggingLevel;
Name of the parameter used in Studio to control occlusion effects.
FString OcclusionParameter;
Name of the parameter used in Studio to control ambient volume.
FString AmbientVolumeParameter;
Name of the parameter used in Studio to control ambient LPF effects.
FString AmbientLPFParameter;
Used to specify platform specific settings.
TMap<TEnumAsByte<EFMODPlatforms::Type>, FFMODPlatformSettings> Platforms;