Touch-ups before publishing your Unity game to Windows store

Two days ago, i have published my first game to windows store and  below are the steps which i followed before publishing the game.....

I will continue where digitalerr0r has left.(This article is just an extension or add on to what digitalerr0r has described)

After you have added the code snippet for snapped view,everything looks good,except that you have to show a message "That the game is paused and to resume you have to move to Full screen ".Also there is one more view called Filled View which needs to be handled on Windows 8.

[caption id="attachment_287" align="alignnone" width="474"]Bongo Soccer Game on windows store Bongo Soccer Game on windows store[/caption]

Mono C# Script to  pause the sound (if any)

[code language="csharp"]using UnityEngine;
using System.Collections;

public class Windows8Handler {
public GUIText paused=GameObject.Find("Paused").GetComponent<GUIText>();

public void PauseGame(bool p)
{
if (p)
{
Time.timeScale = 0.0f;
AudioListener.pause=true;

}
else
{
Time.timeScale = 1.0f;
AudioListener.pause=false;

}
}
}[/code]

Build the Visual studio C# solution again to have this script change to turn up.

C#/XAML (App.Xaml.cs) code snippet to show the pause message and support FILLED view

[code language="csharp"]
//Add this line to app class
private string pauseMe = string.Format("GAME PAUSED!!{0}PLAY IN FULL SCREEN MODE", Environment.NewLine);[/code]
[code language="csharp"]
//Add this after Window.Current.Activate();
Window.Current.SizeChanged += Current_SizeChanged;
}

void Current_SizeChanged(object sender, WindowSizeChangedEventArgs e)
{
ApplicationViewState myViewState = ApplicationView.Value;

if (myViewState == ApplicationViewState.Snapped)
{
AppCallbacks.Instance.InvokeOnAppThread(new AppCallbackItem(() =&gt;
{
Windows8Handler handler = new Windows8Handler();
handler.PauseGame(true);
handler.paused.text = pauseMe;

}), false);
}
else if (myViewState == ApplicationViewState.Filled)
{
AppCallbacks.Instance.InvokeOnAppThread(new AppCallbackItem(() =&gt;
{

Windows8Handler handler = new Windows8Handler();
handler.PauseGame(true);
handler.paused.text = pauseMe;
}), false);

}
else
{
AppCallbacks.Instance.InvokeOnAppThread(new AppCallbackItem(() =&gt;
{
Windows8Handler handler = new Windows8Handler();
handler.PauseGame(false);
handler.paused.text = string.Empty;
}), false);
}
}[/code]

Once this is done just run your solution to see your game in action and also verify the snap and filled views.

Next,you have to add a privacy policy to your game (which will be displayed in the app store)

Adding privacy Policy 

Verify the privacy policy on the settings charm. Now you can build the appx file in master mode to upload .

Important points to avoid game rejection

  • Choose an appropriate age group(12+ if you are doubtful),countries  for your game and also provide valid game rating certificate.

  • Other than keyboard game inputs,you should support either mouse or touch (as most of the PCs and Tablets support).




Vidyasagar MSC

Developer Advocate, IBM • Microsoft XBox MVP • Intel software Innovator

3 comments:

  1. I can't tell you how excited I am so see your solution here, as an addition the digitalerr0r's blog.

    I've been racking my brain trying to figure out why my game wasn't pausing in Windows Snap View, but it turns out that my game WAS pausing, I just hand't turned off the audio, so the background music was playing as normal, making me think that the game was NOT paused.

    This solution is so simple, yet I was never going to figure it out until I saw your pingback on digitalerr0r's blog!

    Thanks so much!

    ReplyDelete
  2. […] app lab to have a quick review.After having a chat with him i realized that my game is missing few touch-ups .Quickly applied them and pushed my game to windows store on 20th Dec 2013.The next day i got a […]

    ReplyDelete
  3. […] Importance of  Charm settings and Privacy Policy . Click here  […]

    ReplyDelete