Skip to content

Instantly share code, notes, and snippets.

View Gustorvo's full-sized avatar

Gustorvo Gustorvo

View GitHub Profile
@marcospgp
marcospgp / SafeTask.cs
Last active October 7, 2024 12:47
Cancel async tasks in Unity upon exiting play mode
using System;
using System.Threading;
using System.Threading.Tasks;
using UnityEngine;
namespace UnityUtilities
{
/// <summary>
/// A replacement for `Task.Run()` that cancels tasks when entering or
/// exiting play mode in the Unity editor (which doesn't happen by default).
@R-WebsterNoble
R-WebsterNoble / SavWav.cs
Last active November 8, 2024 02:15 — forked from darktable/SavWav.cs
Unity3D: script to save an AudioClip as a .wav file.
// Copyright (c) 2012 Calvin Rien
// http://the.darktable.com
//
// This software is provided 'as-is', without any express or implied warranty. In
// no event will the authors be held liable for any damages arising from the use
// of this software.
//
// Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it freely,
@LotteMakesStuff
LotteMakesStuff / PlayerLoop.cs
Last active September 24, 2024 06:38
Player Loop Visualizer: Built to explore the new PlayerLoopSystem api in Unity 2018.1b2. This tool shows you all the PlayerLoop systems that unity uses to update a frame, and demos how to add your own and even remove systems from the player loop. For more info see the patreon post https://www.patreon.com/posts/unity-2018-1-16336053
// Put this in an editor folder
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.Experimental.LowLevel;
using UnityEngine.Profiling;
@mstevenson
mstevenson / ConfigurableJointExtensions.cs
Created October 24, 2014 07:14
Extension methods for working with Configurable Joints for Unity
using UnityEngine;
public static class ConfigurableJointExtensions
{
/// <summary>
/// Sets a joint's targetRotation to match a given local rotation.
/// The joint transform's local rotation must be cached on Start and passed into this method.
/// </summary>
public static void SetTargetRotationLocal (this ConfigurableJoint joint, Quaternion targetLocalRotation, Quaternion startLocalRotation)
{
@steve-salmond
steve-salmond / ZoomCardController
Last active March 23, 2025 08:37
A simple implementation of an infinite zooming technique a la Zoom Quilt (http://zoomquilt.org) for Unity 3d. Takes the player's position on the z axis and adjusts the cards to match. The cards should be rendered by an orthographic camera
using UnityEngine;
using System.Collections;
public class ZoomCardController : MonoBehaviour {
/** Collection of zooming cards to be displayed. */
public GameObject[] Cards;
/** Distance player travels between cards. */
public float DistanceBetweenCards = 10;