Date post: | 01-Jan-2016 |
Category: |
Documents |
Upload: | camden-leblanc |
View: | 193 times |
Download: | 0 times |
Building a UE4 PluginFMOD STUDIO Case Study
Its easy Reuse common components Marketplace $$$
Motivation – Why make a plugin?
FMOD Studio
FMOD Studio
FMOD Studio
Industry leading audio middleware Easy and powerful authoring tools Free for indies ($100K or less)
FMOD Studio
Previous UE3 Integration◦ Deep integration with engine code◦ Long time to development
UE4 Integration Plan◦ Basic version and iterate on it
Estimate 2 weeks for first version◦ Open questions
Can it be done as a pure plugin? Content window/asset integration?
Unreal Integration
Plugin Basics
UE4 Android module
UE4 Core
module
UE4 Slate
module
UE4 XmlParser
module
YourGame module
FMOD Studiomodule
FMOD Studio Editor
module
FMODStudio plugin
Unreal 4 Engine
Plugin Basics
Plugin Basics
Plugin Basics
Plugin Basics
Module Class
• Macro to register module• Virtual functions when module loaded/unloaded
Basic Asset Class
Settings Class
Settings Class
Blueprints
Blueprints
Sound Banks
.xml files .bank filesFMOD Studio
UE4.uasset files Cooked .pak
Choices◦ Bank with uasset and GUID references◦ Dummy uassets on disk◦ Dummy uassets in memory◦ Explode bank into individual files and import
Sound Banks
Create dummy assets on demand in memory The good:
◦ Assets as first class citizens◦ They appear in the content window◦ Blueprints just work
The bad:◦ Not the recommended approach!◦ Serialized by name not Guid◦ Not read-only in content window, but they should be
Sound Banks
Sound Banks
Building from GitHub/P4
Downloaded UE4 binary
Code project DLL deployment issues Wrong static library namePlugin version must match Epic’sDLL deployment issues
Blueprint-only project DLL deployment issues Plugin won’t linkWrong static library namePlugin version must match Epic’sDLL deployment issues
Deployment
Win64 plugin outputs:◦ UE4Editor-FMODStudio.dll◦ UE4Editor-FMODStudioEditor.dll◦ UE4Game-FMODStudio-Static.lib
Name is expected to be:◦ FMODStudio-Static.lib
Deployment - names
Plugin version number◦ Baked into DLL◦ Must match exactly
Defines◦ BUILT_FROM_CHANGELIST◦ MODULE_API_VERSION
Deployment - plugin version
External DLLs◦ Third party directory
Packaging◦ Copies third party DLLs into destination directory
Android has additional requirements◦ .jar file needs to be linked in◦ .so files need to be loaded by main java Activity
How does it work for plugins?◦ It doesn’t
Deployment – DLL deployment
Coming soon*!* Not sure what soon means
Marketplace plugin support
FMOD Tutorial videos (YouTube FMODTV) FMOD Q/A (www.fmod.com/questions) FMOD Support ([email protected]) Questions?
Demo/Questions/Comments