Universal Mobile Ads for iOS & Android

Rewarded Videos are supported in this plugin :slight_smile:

Supported ad formats in Universal Mobile Ads plugin:

  • Banner
  • Interstitial
  • Rewarded Video

You can find more info in first post of this thread.

Loving what I see here. I will definately get it once it is out on UE4 Marketplace.

I have 2 questions:

  1. Do I need to compile with visual studio (does vs-express work) if I use this plugin? Right now my project is blueprint only.
  2. If I have multiple levels that loads separately, do I need a blueprint that has Universal Mobile Ads component in every level?

Got a question here. What is the total expected size (in MB) that the plugin would add to a project when used? Iā€™m fairly short on space in my project and donā€™t want to exceed over the 100mb mark for my game. Iā€™m assuming its quite small, but want to be sure!

  1. You donā€™t need to compile with Visual Studio. Each plugin release is compiled for the newest UE4 version.
  2. Yes, if you donā€™t have one persistent main level. Generally, users are attaching plugin component to the GameMode.

It depends on how many ad networks do you enable. Each ad network increases build size about 0.8 MB, so currently is 11 ad networks in this plugin and if you enable all, package size would increase about 8.8 MB.

Thanks for this, big help!

That is awesome, thanks! Looking forward to it on the MarketPlace :slight_smile:

Marketplace currently doesnā€™t support code plugins but it is already available on Sellfy with GitHub repo access: https://sellfy.com/p/V0sJ/ :smiley:

Hi, I have 2 questions,

I downloaded the newst version of your plugin, and read & follow the userguide.
but Iā€™ve met problems.

  1. How can I create an ant.properties file, I havenā€™t finished the android configurations, because I donā€™t know how create the file.

  2. I canā€™t build APK file , because of some errors. I add a picture of my log. pls help me. I followed all the userguide process except step ā€˜d) in Android configurationsā€™. I canā€™t make it.

I bought this plugin 2months ago, but still I canā€™t add any of advertisement in my project, I use ue4 v4.11, universalplugin v1.31.



  1. Right Click -> New -> Text Document and save file as ant.properties (remove .txt extension). Especially for you I created this file and you can download it here: Free VPN for fast,secure and stable anonymous connections äøØiSharkVPN

  2. This error should be resolved when you create ant.properties file.

Thanks a lot, finally I can make it works. thanks for your support. If I meet another question I will ask again, keep updating good stuffs from south korea.

Awesome! :smiley: If you have more problems, please feel free to contact me :slight_smile:

Iā€™m getting this error when I try to launch to iOS;

LogPlayLevel: Running AutomationToolā€¦
LogPlayLevel: Program.Main: 2016-04-14T14:03:09.1080932Z: Running on WindowsHostPlatform as a 64-bit process.
LogPlayLevel: Automation.ParseCommandLine: Parsing command line: -ScriptsForProject=C:/Users/grimw/Documents/Unreal Projects/DapperBat/DapperBat.uproject BuildCookRun -project=C:/Users/grimw/Documents/Unreal Projects/DapperBat/DapperBat.uproject -noP4 -clientconfig=Development -serverconfig=Development -nocompile -nocompileeditor -installed -ue4exe=UE4Editor
-Cmd.exe -utf8output -platform=IOS -build -map=/Game/L_Game -skipcook -iterativecooking -compressed -iterativedeploy -stage -deploy -cmdline=/Game/L_Game -Messaging -device=IOS@All_iOS_On_DESKTOP-3P8D58Q -addcmdline=-SessionId=DF96FD3D4CC646241EFDD4B427D050C8 -SessionOwner=ā€˜grimwā€™ -SessionName=ā€˜Launch On Deviceā€™ -run
LogPlayLevel: Automation.Process: Setting up command environment.
LogPlayLevel: Automation.Process: Compiling scripts.
LogPlayLevel: BuildCookRun.SetupParams: Setting up ProjectParams for C:\Users\grimw\Documents\Unreal Projects\DapperBat\DapperBat.uproject
LogPlayLevel: Project.Build: ********** BUILD COMMAND STARTED **********
LogPlayLevel: Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.AutomationException: Unabled to build Project C:/Program Files/Epic Games/4.11\Engine\Source\Programs\IOS\MobileDeviceInterface\MobileDeviceInterface.csproj. Project file not found.
LogPlayLevel: at AutomationTool.CommandUtils.BuildCSharpProject(CommandEnvironment Env, String ProjectFile, String BuildConfig, String LogName)
LogPlayLevel: at AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary2 PlatformEnvVars)
LogPlayLevel: at Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask)
LogPlayLevel: at BuildCookRun.DoBuildCookRun(ProjectParams Params)
LogPlayLevel: at AutomationTool.BuildCommand.Execute()
LogPlayLevel: at AutomationTool.Automation.Execute(List1 CommandsToExecute, CaselessDictionary1 Commands)
LogPlayLevel: at AutomationTool.Automation.Process(String] CommandLine)
LogPlayLevel: at AutomationTool.Program.MainProc(Object Param)
LogPlayLevel: at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
LogPlayLevel: at AutomationTool.Program.Main()
LogPlayLevel: Program.Main: AutomationTool exiting with ExitCode=1 (Error_Unknown)
LogPlayLevel: Domain_ProcessExit
LogPlayLevel: copying UAT log filesā€¦
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 1.253939
LogStats:Warning: MetaData mismatch. Did you assign a stat to two groups? New //STATGROUP_Threads//FLauncherTask///Thread_9e08_0///####STATCAT_Advanced#### old //STATGROUP_Threads//FLauncherTask///Thread_b218_0///####STATCAT_Advanced####
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 0.000025
LogPlayLevel: BUILD FAILED
PackagingResults:Error: Error Deployment failed! Unknown Error

My own searching has led me to believe that the problem is the result of a missing file that only exists in the source version of the engine. Does this plug-in require the source version?

Try ā€œPackage Projectā€ instead of ā€œLaunch On Deviceā€.

I was able to package it successfully on my Mac, but attempting to launch it is still giving a slightly different error after;
LogPlayLevel: mono: [deploy] Created deployment server.
LogPlayLevel: mono: [DD] Trying to connect to mobile device running iOS ā€¦
LogPlayLevel: mono: Connect: Couldnā€™t Start AFC service
LogPlayLevel: mono: [DD] Mobile Device ā€˜Zackā€™s iPadā€™ connected
LogPlayLevel: mono: Connect: Couldnā€™t Start AFC service
LogPlayLevel: mono: Device ā€˜Zackā€™s iPadā€™ with id 470f1ceceddaa3923e9ce7a38549cc0897709992 is being checked against 470f1ceceddaa3923e9ce7a38549cc0897709992.
LogPlayLevel: mono: [DD] Transferring IPA to device ā€˜Zackā€™s iPadā€™ ā€¦
LogPlayLevel: mono: Connect: Couldnā€™t Start AFC service
LogPlayLevel: mono: Directory (PublicStaging) doesnā€™t exist!
LogPlayLevel: mono: CreateDirectory (PublicStaging) failed
LogPlayLevel: mono: Connect: Couldnā€™t Start AFC service
LogPlayLevel: mono:
LogPlayLevel: mono: Unhandled Exception:
LogPlayLevel: mono: System.IO.IOException: AFCFileRefOpen (/PublicStaging/DapperBat.ipa) failed with error 7
LogPlayLevel: mono: at Manzana.iPhoneFile.Open (Manzana.MobileDeviceInstance phone, System.String path, FileAccess openmode) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at Manzana.iPhoneFile.OpenWrite (Manzana.MobileDeviceInstance phone, System.String path) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at Manzana.MobileDeviceInstance.CopyFileToPhone (System.String PathOnPC, System.String PathOnPhone, Int32 ChunkSize) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at Manzana.MobileDeviceInstance.CopyFileToPhone (System.String PathOnPC, System.String PathOnPhone) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at Manzana.MobileDeviceInstance.CopyFileToPublicStaging (System.String SourceFile) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at DeploymentServer.DeploymentImplementation+<>c__DisplayClass7.<InstallIPAOnDevice>b__6 (Manzana.MobileDeviceInstance Device) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at DeploymentServer.DeploymentImplementation.PerformActionOnAllDevices (UInt32 DelayEnumerationPeriodMS, DeploymentServer.PerformDeviceActionDelegate PerDeviceWork) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at DeploymentServer.DeploymentImplementation.InstallIPAOnDevice (System.String IPAPath) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at DeploymentServer.Program.RunCommand () [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at DeploymentServer.Program+<>c__DisplayClass1.<Main>b__0 () [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at System.Threading.Thread.StartInternal () [0x00000] in <filename unknown>:0
LogPlayLevel: mono: [ERROR] FATAL UNHANDLED EXCEPTION: System.IO.IOException: AFCFileRefOpen (/PublicStaging/DapperBat.ipa) failed with error 7
LogPlayLevel: mono: at Manzana.iPhoneFile.Open (Manzana.MobileDeviceInstance phone, System.String path, FileAccess openmode) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at Manzana.iPhoneFile.OpenWrite (Manzana.MobileDeviceInstance phone, System.String path) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at Manzana.MobileDeviceInstance.CopyFileToPhone (System.String PathOnPC, System.String PathOnPhone, Int32 ChunkSize) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at Manzana.MobileDeviceInstance.CopyFileToPhone (System.String PathOnPC, System.String PathOnPhone) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at Manzana.MobileDeviceInstance.CopyFileToPublicStaging (System.String SourceFile) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at DeploymentServer.DeploymentImplementation+<>c__DisplayClass7.<InstallIPAOnDevice>b__6 (Manzana.MobileDeviceInstance Device) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at DeploymentServer.DeploymentImplementation.PerformActionOnAllDevices (UInt32 DelayEnumerationPeriodMS, DeploymentServer.PerformDeviceActionDelegate PerDeviceWork) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at DeploymentServer.DeploymentImplementation.InstallIPAOnDevice (System.String IPAPath) [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at DeploymentServer.Program.RunCommand () [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at DeploymentServer.Program+<>c__DisplayClass1.<Main>b__0 () [0x00000] in <filename unknown>:0
LogPlayLevel: mono: at System.Threading.Thread.StartInternal () [0x00000] in <filename unknown>:0
LogPlayLevel: CommandUtils.Run: Run: Took 1.892894s to run mono, ExitCode=1
LogPlayLevel: Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.AutomationException: Command failed (Result:1): /Users/Shared/UnrealEngine/4.11/Engine/Binaries/DotNET/IOS/DeploymentServer.exe Install -ipa ā€œ/Users/grimw/Documents/Unreal Projects/DapperBat/Binaries/IOS/DapperBat.ipaā€ -device 470f1ceceddaa3923e9ce7a38549cc0897709992
-additionalcommandline "-SessionId=E9F022584A41E4A0FD61B0A150FB02D3 -SessionOwner=ā€œgrimwā€ -SessionName=ā€œLaunch On Deviceā€ ". See logfile for details: ā€˜DeploymentServer-2016.04.15-06.22.54.txtā€™
LogPlayLevel: at AutomationTool.CommandUtils.RunAndLog (System.String App, System.String CommandLine, System.String Logfile, Int32 MaxSuccessCode, System.String Input, ERunOptions Options, System.Collections.Generic.Dictionary2 EnvVars) [0x00000] in <filename unknown>:0 LogPlayLevel: at AutomationTool.CommandUtils.RunAndLog (AutomationTool.CommandEnvironment Env, System.String App, System.String CommandLine, System.String LogName, Int32 MaxSuccessCode, System.String Input, ERunOptions Options, System.Collections.Generic.Dictionary2 EnvVars) [0x00000] in <filename unknown>:0
LogPlayLevel: at IOSPlatform.Deploy (AutomationTool.ProjectParams Params, DeploymentContext SC) [0x00000] in <filename unknown>:0
LogPlayLevel: at Project.Deploy (AutomationTool.ProjectParams Params) [0x00000] in <filename unknown>:0
LogPlayLevel: at BuildCookRun.DoBuildCookRun (AutomationTool.ProjectParams Params) [0x00000] in <filename unknown>:0
LogPlayLevel: at BuildCookRun.ExecuteBuild () [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.BuildCommand.Execute () [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.Automation.Execute (System.Collections.Generic.List1 CommandsToExecute, Tools.DotNETCommon.CaselessDictionary.CaselessDictionary1 Commands) [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.Automation.Process (System.String] CommandLine) [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.Program.MainProc (System.Object Param) [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.InternalUtils.RunSingleInstance (System.Func`2 Main, System.Object Param) [0x00000] in <filename unknown>:0
LogPlayLevel: at AutomationTool.Program.Main () [0x00000] in <filename unknown>:0
LogPlayLevel: Program.Main: AutomationTool exiting with ExitCode=1 (Error_Unknown)
LogPlayLevel: Domain_ProcessExit
LogPlayLevel: Completed Launch On Stage: Deploy Task, Time: 126.059538
LogPlayLevel: RunUAT ERROR: AutomationTool was unable to run successfully.
PackagingResults:Error: Error Launch failed! Unknown Error

Android appears to be working fine on my PC with both packaging and launching.

It looks like this bug is not related to my plugin. You can find many threads on forum and it looks like a rare bug in UE4: Suche - Unreal Engine

If you disable plugin, you are able to successfully ā€œLaunch Onā€?

Please give me some feedback what can I improve or what features can I add to the Universal Mobile Ads plugin so Iā€™ll consider this and maybe update :slight_smile: Thanks! :smiley: :cool:

I have a question for you.

Do your ads work with Gear VR games?

Thank you.

Hopefully your plugin will work when mobile VR support happens.

For everyone thats used this and managed to get it to work, I have some questions about the MoPub mediation. It was not initially apparent I had to use this but whatever. Iā€™ve been trying to get admob to work all day but I cant seem to get anything to display. I made a new app and ad unit on admob for it (iā€™ve already been successfully using Admob on the android version of my app), linked it all to the Admob Network on MoPub and so forth, following the included guide, including using the code integration unit inside Unreal for when calling the banner ads. But the only thing Iā€™ve managed to actually get displayed is the MoPub test ad, which also seems to crash my game/not load up any url when clicked on, so Iā€™m not sure if anyone else here has ran into these same issues?? Honestly it would have been nice to be able to skip the mediation and just link up admob like you can do by default in Unreal. I really donā€™t care about any of the other ad providers :\

Gear VR is based on Android and plugin works on Android itself. However, I donā€™t know if it works specifically on Gear VR because I donā€™t have this device :frowning: If anyone have Gear VR and owned plugin, please check if it works and let me know :smiley:

Everything is described in the first post of this thread also that plugin is using ad mediation. Generally, ad mediation is better because lets you maximize fill rate so you can earn more $$$ :slight_smile: If you followed all User Guide and made all steps, it should works brilliantly. I suppose you set something wrong on MoPub Dashboard. Iā€™ve just send you support e-mail. Donā€™t worry! Iā€™ll help you! :slight_smile: :cool: