Several of you have asked for a guide on upgrading to the latest version. This thread is a quick start guide for updates. There are some changes which should be easy to make, but were not explicitly documented. These can be difficult to track down and solve. This list will grow as new issues are discovered and solved and as new versions are released.
December 2013 (and prior)
- MovieDef Instancing
We removed the ability to create an instance of a MovieDef separately from C#. Now, this is tied to a single operation and the MovieDef is created internally. You can still access the MovieDef properties via SFMovie.GetMovieDef().
- Destroying Movies
This is now achieved with: movieInstance.Destroy()
- StartCoroutine was moved to SFCamera
If your "MyCamera" or equivalent class, has the following code in its Start() method:
new public IEnumerator Start()
{
// ...
base.Start();
if (WhenToRender == RenderTime.EndOfFrame)
{
yield return StartCoroutine("CallPluginAtEndOfFrame");
}
}
Remove it to look like this:
new public IEnumerator Start()
{
// ...
return base.Start();
}
- SF_SetTextureCount(n) must be called before your first SWF is instanced. This will crash in SFTexture.cpp, when allocating UnityTextureIDs otherwise.
March 2014
- Remove all occurrences of "using Scaleform.GFx;"
This namespace was removed. All classes that were in the GFx namespace are now in the "Scaleform" namespace. Adjust your code as needed.
- SFMovie.GetViewport() parameter was changed from "out" to "ref"
- FontConfigs are searched for in the same directory as the swf being loaded. This matches the behavior of GFxMediaPlayer. No need for an additional FontConfig folder (which then required copies of the font lib swfs).