Skip to content

Instantly share code, notes, and snippets.

Sabresaurus sabresaurus

Block or report user

Report or block sabresaurus

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@sabresaurus
sabresaurus / WindowKiller.cs
Created Jan 29, 2019
If an editor window breaks (due to an issue with serialized internal state for example) it can be a pain to close and reopen it as the context menu for closing it no longer works. This utility allows you to close any editor window.
View WindowKiller.cs
// MIT License
//
// Copyright (c) 2019 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:
@sabresaurus
sabresaurus / ConsoleCallStackHelper.cs
Last active Feb 24, 2019
Jump to file/line in the Unity console window callstack via this helper window
View ConsoleCallStackHelper.cs
// MIT License
//
// Copyright (c) 2018 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:
@sabresaurus
sabresaurus / PrefabExplorer.cs
Last active May 22, 2017
An editor window that shows the full hierarchy of a prefab selected in the Project window, allowing you to select objects in a prefab beyond the top two levels (Unity's project view recurses only one deep)
View PrefabExplorer.cs
// MIT License
//
// Copyright (c) 2017 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:
@sabresaurus
sabresaurus / BrushToCollider.cs
Last active Apr 25, 2017
Generates a box collider for the bounds of a brush or a convex mesh collider using the source polygons of a brush, also copies any referenced components to the built object. Note: you should disable collision on the source brush so that it isn't built into two separate colliders
View BrushToCollider.cs
#if UNITY_EDITOR
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Sabresaurus.SabreCSG;
using UnityEditor;
public class BrushToCollider : MonoBehaviour, IPostBuildListener
{
[SerializeField]
@sabresaurus
sabresaurus / BSPTreePostProcess.cs
Last active Sep 19, 2016
Makes generated mesh colliders compatible with SuperCharacterController (https://github.com/IronWarrior/SuperCharacterController)
View BSPTreePostProcess.cs
#if UNITY_EDITOR
using UnityEngine;
using Sabresaurus.SabreCSG;
public static class BSPTreePostProcess
{
[PostProcessCSGBuild]
public static void OnPostProcessCSGBuild(Transform meshGroup)
{
if(meshGroup != null)
View DuplicationUtility.cs
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using Type = System.Type;
public static class DuplicationUtility
{
public static GameObject DuplicateGameObject(GameObject source)
View RuntimeCSGExample2.cs
using UnityEngine;
using System.Collections.Generic;
using Sabresaurus.SabreCSG;
public class RuntimeCSGExample2 : MonoBehaviour
{
// Number of cells to create in the X and Z axis
[SerializeField]
int cellXCount = 10;
[SerializeField]
View RuntimeCSGExample1.cs
using UnityEngine;
using System.Collections.Generic;
using Sabresaurus.SabreCSG;
public class RuntimeCSGExample1 : MonoBehaviour
{
[SerializeField]
int count = 30; // Number of brushes to create
[SerializeField]
View AutoComponentExample.cs
// Example of how to use AutoComponent ( https://gist.github.com/sabresaurus/339fcaab18ea7c6a2c53 )
[AutoComponent(RecursiveDirection.Up)]
Agent parentAgent;
[AutoComponent(RecursiveDirection.Down)]
MuzzleFlash muzzleFlash;
[AutoComponent(RecursiveDirection.Down)]
GunAnimator gunAnimator;
@sabresaurus
sabresaurus / AutoComponentAttribute.cs
Last active Jul 9, 2018
Automatic binding of component references
View AutoComponentAttribute.cs
// MIT License
//
// Copyright (c) 2018 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:
You can’t perform that action at this time.