Skip to content

Instantly share code, notes, and snippets.

View jonathanpeppers's full-sized avatar
🌶️
spicy!

Jonathan Peppers jonathanpeppers

🌶️
spicy!
View GitHub Profile
@jonathanpeppers
jonathanpeppers / Unity.fsx
Created April 1, 2015 20:30
FAKE helpers for invoking Unity3D
let UnityPath =
if isUnix then @"/Applications/Unity/Unity.app/Contents/MacOS/Unity" else @"C:\Program Files (x86)\Unity\Editor\Unity.exe"
let Unity args =
let fullPath = Path.GetFullPath(".")
let result = Shell.Exec(UnityPath, "-quit -batchmode -logFile -projectPath \"" + fullPath + "\" " + args)
if result < 0 then failwithf "Unity exited with error %d" result
@jonathanpeppers
jonathanpeppers / UnityAndroid.fsx
Created April 1, 2015 20:31
Invoke a Unity3D Android build
Target "android" (fun () ->
Unity "-executeMethod BuildScript.Android"
)
@jonathanpeppers
jonathanpeppers / UnityVars.fsx
Created April 1, 2015 20:32
Unity3D / TeamCity / FAKE environment variables
//Environment variables
let version = "1.0.0"
let build = environVarOrDefault "BUILD_NUMBER" "1"
let versionNumber = (version + "." + build)
setEnvironVar "VERSION_NUMBER" versionNumber
@jonathanpeppers
jonathanpeppers / BuildScript.cs
Created April 1, 2015 20:32
Unity3D Build Script, environment variables
public class BuildScript
{
private static readonly string _versionNumber;
private static readonly string _buildNumber;
static BuildScript()
{
_versionNumber = Environment.GetEnvironmentVariable("VERSION_NUMBER");
if (string.IsNullOrEmpty(_versionNumber))
_versionNumber = "1.0.0.0";
@jonathanpeppers
jonathanpeppers / BuildScript.cs
Last active August 29, 2015 14:18
BuildScript.cs for Android
static void Android()
{
int versionCode;
int.TryParse(_buildNumber, out versionCode);
PlayerSettings.Android.bundleVersionCode = versionCode;
PlayerSettings.Android.keyaliasName = "YourAlias";
PlayerSettings.Android.keyaliasPass =
PlayerSettings.Android.keystorePass = "YourPassword";
PlayerSettings.Android.keystoreName = Path.GetFullPath(@"path\to\your.keystore").Replace('\\', '/');
BuildPipeline.BuildPlayer(GetScenes(), "build/android.apk", BuildTarget.Android, BuildOptions.None);
@jonathanpeppers
jonathanpeppers / BuildScript.cs
Created April 1, 2015 20:35
BuildScript.cs for iOS
static void CheckDir(string dir)
{
if (!Directory.Exists(dir))
Directory.CreateDirectory(dir);
}
static void iOS()
{
CheckDir("Scratch/Xcode");
PlayerSettings.SetPropertyInt("ScriptingBackend", (int)ScriptingImplementation.Mono2x, BuildTargetGroup.iPhone);
@jonathanpeppers
jonathanpeppers / BuildScript.cs
Created April 1, 2015 20:35
BuildScript.cs for iOS IL2CPP
static void iOS64()
{
CheckDir("Scratch/Xcode");
PlayerSettings.SetPropertyInt("ScriptingBackend", (int)ScriptingImplementation.IL2CPP, BuildTargetGroup.iPhone);
PlayerSettings.SetPropertyInt("Architecture", (int)iPhoneArchitecture.Universal, BuildTargetGroup.iPhone);
BuildPipeline.BuildPlayer(GetScenes(), "Scratch/Xcode", BuildTarget.iPhone, BuildOptions.None);
}
@jonathanpeppers
jonathanpeppers / Xcode.fsx
Created April 1, 2015 20:36
Xcode FAKE helper
let Exec command args =
let result = Shell.Exec(command, args)
if result <> 0 then failwithf "%s exited with error %d" command result
let Xcode args =
Exec "xcodebuild" args
@jonathanpeppers
jonathanpeppers / UnityiOS.fsx
Created April 1, 2015 20:38
Unity iOS build targets in FAKE
//Variables to change in future
let provisioningId = "GUID-HERE"
let provisioningName = "YourProfileName"
Target "ios-player" (fun () ->
Unity "-executeMethod BuildScript.iOS"
)
Target "ios-archive" (fun () ->
DeleteDir "Scratch/Xcode/YourGame.xarchive/"
@jonathanpeppers
jonathanpeppers / UnityiOS64.fsx
Last active August 29, 2015 14:18
Unity iOS IL2CPP build targets in FAKE
Target "ios64-player" (fun () ->
Unity "-executeMethod BuildScript.iOS64"
)
Target "ios64" (fun () ->
DeleteFile "build/YourGame-64.ipa"
CreateDir "build"
Xcode ("-exportArchive -archivePath Scratch/Xcode/YourGame.xcarchive -exportPath build/YourGame-64.ipa -exportProvisioningProfile " + provisioningName)
)