building a ue4 plugin

28
Building a UE4 Plugin FMOD STUDIO Case Study

Upload: camden-leblanc

Post on 01-Jan-2016

191 views

Category:

Documents


0 download

DESCRIPTION

Building a UE4 Plugin. FMOD STUDIO Case Study. Motivation – Why make a plugin?. Its easy Reuse common components Marketplace $$$. FMOD Studio. FMOD Studio. FMOD Studio. FMOD Studio. Industry leading audio middleware Easy and powerful authoring tools Free for indies ($100K or less). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Building a UE4 Plugin

Building a UE4 PluginFMOD STUDIO Case Study

Page 2: Building a UE4 Plugin

Its easy Reuse common components Marketplace $$$

Motivation – Why make a plugin?

Page 3: Building a UE4 Plugin

FMOD Studio

Page 4: Building a UE4 Plugin

FMOD Studio

Page 5: Building a UE4 Plugin

FMOD Studio

Page 6: Building a UE4 Plugin

Industry leading audio middleware Easy and powerful authoring tools Free for indies ($100K or less)

FMOD Studio

Page 7: Building a UE4 Plugin

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

Page 8: Building a UE4 Plugin

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

Page 9: Building a UE4 Plugin

Plugin Basics

Page 10: Building a UE4 Plugin

Plugin Basics

Page 11: Building a UE4 Plugin

Plugin Basics

Page 12: Building a UE4 Plugin

Plugin Basics

Page 13: Building a UE4 Plugin

Module Class

• Macro to register module• Virtual functions when module loaded/unloaded

Page 14: Building a UE4 Plugin

Basic Asset Class

Page 15: Building a UE4 Plugin

Settings Class

Page 16: Building a UE4 Plugin

Settings Class

Page 17: Building a UE4 Plugin

Blueprints

Page 18: Building a UE4 Plugin

Blueprints

Page 19: Building a UE4 Plugin

Sound Banks

.xml files .bank filesFMOD Studio

UE4.uasset files Cooked .pak

Page 20: Building a UE4 Plugin

Choices◦ Bank with uasset and GUID references◦ Dummy uassets on disk◦ Dummy uassets in memory◦ Explode bank into individual files and import

Sound Banks

Page 21: Building a UE4 Plugin

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

Page 22: Building a UE4 Plugin

Sound Banks

Page 23: Building a UE4 Plugin

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

Page 24: Building a UE4 Plugin

Win64 plugin outputs:◦ UE4Editor-FMODStudio.dll◦ UE4Editor-FMODStudioEditor.dll◦ UE4Game-FMODStudio-Static.lib

Name is expected to be:◦ FMODStudio-Static.lib

Deployment - names

Page 25: Building a UE4 Plugin

Plugin version number◦ Baked into DLL◦ Must match exactly

Defines◦ BUILT_FROM_CHANGELIST◦ MODULE_API_VERSION

Deployment - plugin version

Page 26: Building a UE4 Plugin

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

Page 27: Building a UE4 Plugin

Coming soon*!* Not sure what soon means

Marketplace plugin support

Page 28: Building a UE4 Plugin

FMOD Tutorial videos (YouTube FMODTV) FMOD Q/A (www.fmod.com/questions) FMOD Support ([email protected]) Questions?

Demo/Questions/Comments