Skip to content

Instantly share code, notes, and snippets.

View SixWays's full-sized avatar

Dr Luke Thompson SixWays

View GitHub Profile
@SixWays
SixWays / Ext_SerializedProperty.cs
Last active July 17, 2023 13:58
Unity extension methods for SerializedProperty to get instance references and deal with arrays.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.Reflection;
namespace UnityEditor {
public static class Ext_SerializedProperty {
const BindingFlags FLAGS_ALL = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy;
/// <summary>
using UnityEngine.SceneManagement;
/// <summary>
/// Data wrapper that automatically resets to default value on scene load.
/// Make a static instance for safer per-scene static access to data.
/// </summary>
public class SafeStatic<T> {
public T value;
public T defaultValue;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class NetworkTransformLerp : NetworkBehaviour {
public Transform target;
Vector3 _lastPos, _nextPos;
Quaternion _lastRot, _nextRot;
using UnityEditor;
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class ImportFlatShadedMesh : AssetPostprocessor {
void OnPostprocessModel(GameObject g){
Mesh m = g.GetComponentInChildren<MeshFilter>().sharedMesh;
Vector3[] oldVertices = m.vertices;
@SixWays
SixWays / CursorManager.cs
Last active January 20, 2022 08:39
Nicer cursor hiding/locking for Unity, including automatic alt-tab handling. Tested on 5.4+, probably fine 5.0+.
using UnityEngine;
using System.Collections;
public class CursorManager : MonoBehaviour {
#region Static
#region Singleton
/* Class is a MonoBehaviour to recieve OnApplicationFocus(bool) message
* If no instance already present, one will be created BEFORE scene load
* CursorManager placed in scene will override auto-created instance
* Any created instance will call DontDestroyOnLoad on itself, but still gets overridden by scene