Skip to content

Instantly share code, notes, and snippets.

View liortal53's full-sized avatar

Lior Tal liortal53

View GitHub Profile
@liortal53
liortal53 / DecoratorEditor.cs
Last active April 2, 2024 17:10
Extend Unity's built-in inspectors
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using UnityEditor;
using UnityEngine;
/// <summary>
/// A base class for creating editors that decorate Unity's built-in editor types.
/// </summary>
public abstract class DecoratorEditor : Editor
@liortal53
liortal53 / EmbedPackage.cs
Created October 25, 2019 07:19
Embed package into your Unity project to modify the code more easily :)
using System.IO;
using UnityEditor.PackageManager;
using UnityEngine;
namespace UnityEditor.Extensions
{
#if UNITY_2017_3_OR_NEWER
/// <summary>
/// Editor extension for embedding packages as a local copy in the project.
@liortal53
liortal53 / ActionExtensions.cs
Created October 21, 2023 18:35
Example demonstrating how to safely invoke all delegates in a System.Action while catching exceptions
using System;
namespace Extensions.Utils
{
public static class ActionExtensions
{
/// <summary>
/// Safe invocation of all delegates stored in the passed <see cref="Action"/> delegate.
/// </summary>
public static void InvokeSafe(this Action action)
@liortal53
liortal53 / RemoveEmptyFolders.cs
Last active October 9, 2023 12:46
Clean Unity project from empty folders
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
public class RemoveEmptyFolders
{
/// <summary>
/// Use this flag to simulate a run, before really deleting any folders.
/// </summary>
@liortal53
liortal53 / EnumExtensionsExample.cs
Created September 16, 2022 06:01
EnumExtensions Example
using System;
using System.Linq;
[Flags]
public enum Enemy
{
None = 0,
Goblin = 1,
Wizard = 2,
Dragon = 4
@liortal53
liortal53 / ConsoleRouter.cs
Last active December 25, 2020 03:41
Redirect Console output to Unity's console
using System.IO;
using System.Text;
using UnityEditor;
using UnityEngine;
public class ConsoleWriter : TextWriter
{
public override void Write(char value)
{
}
@liortal53
liortal53 / PostBuildHelper.cs
Created January 28, 2016 08:48
Unity: Auto increment iOS build number post build
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
using UnityEngine;
public static class PostBuildHelper
{
[PostProcessBuild]
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using UnityEditor.TestTools.TestRunner.Api;
using UnityEngine;
using UnityEngine.TestTools;
namespace UnityTestExtensions
{
/// <summary>
using System.IO;
using UnityEditor.PackageManager;
using UnityEngine;
namespace UnityEditor.Extensions
{
#if UNITY_2017_3_OR_NEWER
/// <summary>
/// Editor extension for embedding packages as a local copy in the project.
using System.IO;
using UnityEditor.PackageManager;
using UnityEngine;
namespace UnityEditor.Extensions
{
/// <summary>
/// Editor extension for embedding packages as a local copy in the project.
/// This can be useful in case you want to modify the package's source code.
/// </summary>