Skip to content

Instantly share code, notes, and snippets.

@Manamongods
Manamongods / GizmosContextMenu.cs
Last active January 21, 2022 13:59
(For 2022.1) In new Unity versions, collapsing a component doesn't hide its gizmos anymore, which makes it slower to temporarily hide a component's gizmos. This helps that out by adding options to the right click, the context menu, of a component
// Creative Commons 0
#define SINGLE_BUTTON // Comment this if you want individual buttons
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
@mrkybe
mrkybe / BenchmarkSqrt.cs
Last active October 31, 2022 05:30
Benchmark Sqrt vs SqrMagnitude in Unity
/*
Results on a Ryzen 3800X, ymmv on mobile, but for desktop,
please just write legible code that conveys your intention.
Modern CPUs are fast.
All results are in milliseconds for 10,000,000 iterations.
In Editor:
Vector3.Distance: 437
(v1-v2).Magnitude: 567
@yasirkula
yasirkula / UnitypackageExtractor.cs
Last active April 21, 2025 12:37
Extract a .unitypackage to any directory (even outside the project folder) from within Unity
#define STOP_EXTRACTION_WHEN_WINDOW_CLOSED
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Compression;
using System.Reflection;
using System.Text;
using System.Threading;
using UnityEditor;
@sabresaurus
sabresaurus / PaletteWindow.cs
Last active September 27, 2023 19:50
Palette window with drag-drop boxes that you can drag common objects onto such as scenes, materials, prefabs to easily access them later (From SabreCSG originally)
// MIT License
//
// Copyright (c) 2021 Sabresaurus
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
@lordlycastle
lordlycastle / DataSerializer.cs
Last active May 9, 2024 22:21
Inspector window that can serialize an object to disk and load it back up. Can use various methods e.g. binary, JSON, nodes. Good for saving data to disk for later use.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Sirenix.OdinInspector;
@xavierfoucrier
xavierfoucrier / gpg-signing.md
Last active April 24, 2025 11:07
GPG signing with Git and Github Desktop

GPG signing – git github-desktop

Here is a short guide that will help you setup your environment to create signed commits or signed tags with Git locally. This has been extensively tested on Windows with Git and the Github Desktop application: I use it every day for my professional development projects.

I you face any issue, feel free to leave a comment below.

Summary

  1. Sign commits or tags
  2. Key passphrase
  3. Disable signatures
  4. Renew a GPG key
@LotteMakesStuff
LotteMakesStuff / AutohookAttribute.cs
Last active March 18, 2025 14:51
[Autohook] property drawer for unity - Add this [Autohook] attribute to a property to and the inspector will automagically hook up a valid reference for you if it can find a component attached to the same game object that matches the field you put it on. You can watch a demo of this in action here https://youtu.be/faVt09NGzws <3
// NOTE DONT put in an editor folder!
using UnityEngine;
public class AutohookAttribute : PropertyAttribute
{
}
@JohannesMP
JohannesMP / LICENSE
Last active February 19, 2025 23:39
[Unity3D] A Reliable, user-friendly way to reference SceneAssets by script.
/*******************************************************************************
* Don't Be a Jerk: The Open Source Software License.
* Adapted from: https://github.com/evantahler/Dont-be-a-Jerk
*******************************************************************************
* _I_ am the software author - JohannesMP on Github.
* _You_ are the user of this software. You might be a _we_, and that's OK!
*
* This is free, open source software. I will never charge you to use,
* license, or obtain this software. Doing so would make me a jerk.
*
using System;
using System.Linq;
using System.Reflection;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
@lazlo-bonin
lazlo-bonin / UndoUtility.cs
Last active June 17, 2024 12:51
Fixing Unity's broken Undo.RecordObject
using UnityEditor;
using UnityEngine;
using UnityObject = UnityEngine.Object;
namespace Ludiq
{
public static class UndoUtility
{
private static void RecordObject(UnityObject uo, string name)
{