Skip to content

Instantly share code, notes, and snippets.

@RodGreen
RodGreen / SwitchShortcutsProfileOnPlay.cs
Created September 12, 2019 21:54
Automatically switches editor shortcut profile when playing Unity3D
using UnityEngine;
using UnityEditor;
using UnityEditor.ShortcutManagement;
using System.Linq;
[InitializeOnLoad]
public class SwitchShortcutsProfileOnPlay
{
private const string PlayingProfileId = "Playing";
private static string _activeProfileId;
@RodGreen
RodGreen / FileIDUtil.cs
Created May 15, 2019 01:11
FileIDUtil + MD4 for Unity AssetIDs in DLLs
//https://forum.unity.com/threads/yaml-fileid-hash-function-for-dll-scripts.252075/#post-1695479
using System;
using System.Linq;
using System.Collections.Generic;
using System.Security.Cryptography;
// Taken from http://www.superstarcoders.com/blogs/posts/md4-hash-algorithm-in-c-sharp.aspx
// Probably not the best implementation of MD4, but it works.
public class MD4 : HashAlgorithm
{
@RodGreen
RodGreen / DisableForRigExport.mel
Created April 23, 2019 01:12
Disable for rig export
proc DisableForRigExport()
{
for( $eachMesh in `ls -selection -l` )
{
setAttr ($eachMesh + ".overrideColor", 4);
setAttr ($eachMesh + ".overrideEnabled", 1);
setAttr ($eachMesh + ".overrideDisplayType", 2);
}
}
@RodGreen
RodGreen / ExportAllDagChildren.mel
Last active April 23, 2019 01:13
Export All Dag Children Maya Mel Script
proc ExportAllDagChildren()
{
$savedSel = ls("-selection", "-l");
select(ls("-l","-fl", "-type", "transform", "-dag", listRelatives("-ad", "-f")));
for( $eachMesh in `ls -selection -l` )
{
$overrided = getAttr ($eachMesh + ".overrideEnabled");
if($overrided != 1)
{
continue;
@RodGreen
RodGreen / UnityAssetTypes.json
Last active June 26, 2018 21:59
Unity Asset File Types
{
[
"ext":"unity",
"ext":"mat",
"ext":"prefab",
"ext":"asset",
"ext":"csv",
"ext":"txt",
"ext":"shader",
"ext":"cginc",
@RodGreen
RodGreen / commitFolders.bat
Created June 14, 2018 23:14
Quick script to auto commit folders for svn
@echo off
setlocal ENABLEDELAYEDEXPANSION
FOR /D %%G in ("*") DO (
svn commit "%%~fG" --message="Committing %%~nxG"
)
@RodGreen
RodGreen / GetTransforms.cs
Last active August 29, 2015 14:11
get all transforms #Unity
static List<Transform> GetTransforms(Transform inTransform)
{
List<Transform> returnTransforms = new List<Transform>();
foreach (Transform t in inTransform)
{
if(t != null)
{
returnTransforms.Add(t);
}
returnTransforms.AddRange(GetTransforms(t));
@RodGreen
RodGreen / GetGameObjects.cs
Created December 17, 2014 21:15
Get all game objects #Unity
static List<GameObject> GetGameObjects(GameObject inGameObject)
{
List<GameObject> returnGOs = new List<GameObject>();
foreach (Transform t in inGameObject.transform)
{
GameObject eachGO = t.gameObject;
if(eachGO != null)
{
returnGOs.Add(eachGO);
}
@RodGreen
RodGreen / SwapUVs.cs
Last active December 14, 2015 19:39
Unity - PostProcess Model - Swap UVs
#define DEBUG_ON
using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
public class SwapUVs : AssetPostprocessor
{
const string CLabel = "pp_swapuvs"; // Asset needs to have this label to be processed