mfplat.dll missing - Unity 5.6 beta

OS: Windows Server 2012 R2 Standard (Running remotely on an AWS instance)
Unity beta Version: Unity5.6.0b1

I have an automated command-line build system, which:

  1. Runs unity command line to generate a win32 build for a project (The project runs successfully in-editor, with the play button).
  2. Runs that built exe with “-batchmode -nographics -logFile clientTestOutput.txt” options

When running the built exe, I immediately get an error:
The program can’t start because MFPlat.DLL is missing from your computer. Try reinstalling the program to fix this problem.

This problem is exclusive to the 5.6 beta.
The exact same build works for all of these Unity versions:
Unity4.7.2f1
Unity5.0.4f1
Unity5.1.5f1
Unity5.2.5f1
Unity5.3.7f1
Unity5.4.3f1
Unity5.5.0f3

I suspect that you’ve changed something in 5.6 beta which adds a new requirement, making Unity win32 builds incompatible with Windows Server. As I say above, this project runs properly when I load the 5.6 editor and run the play button.

Hi @pgilmorepf,

Thank you for submitting your question.

The bug is related the new Video Player component which uses the Microsoft Media Foundation Library.
Those dependencies are not supposed to prevent you from building on Windows Server.
A fix is already on its way.

In the mean time, since the Media Foundation is not installed on your system, you can install the necessary libraries (Media Feature Pack) from https://www.microsoft.com/en-us/search/result.aspx?q=Media+Feature+Pack.

This is, of course, a short-term workaround since a solution will be available soon.

Sorry for the inconvenience.

Francis

Software Developer, Video Team

Hi @pgilmorepf,

This bug is fixed and not reproducible on Unity 5.6.0b11.

Regards,
Audrius
QA Team