Unity TinyPNG compression

Compress Textures in Unity Editor by using TinyPNG

public class TinyPNGEditor : MonoBehaviour
{
    private const string URL_API = "https://api.tinify.com/shrink";
    
    // your key here
    private const string KEY_API = "xxxxxxx";


    private static UnityWebRequest www;
    private static Action onDone;

Unity Loaded texture during RUNTIME has white or black line

It is because of Texture's alpha is not dilated for the gap.
Details could be found HOWTO-alphamaps

So how to fix it:

  • if it's in your Unity project, just enable this texture's AlphaIsTransparency in Texture Importing Setting inspector.
public static void DilateTexture()
{
    if (Selection.activeObject == null)
    {
        if (EditorUtility.DisplayDialog("Error Selection", "Select a texture", "OK"))
        {
            return;
        }

Unity - Font Pruner

using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using AssetBundleBrowser.AssetBundlePacker;
using UnityEditor;
using UnityEditor.VersionControl;
using UnityEngine;
using Debug = UnityEngine.Debug;

Unity - Simple Image Downloader

a simple image downloader, it downloads images via a queue and by UnityWebRequest and Coroutine.

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;

public class ImageDownloader : MonoSingleton<ImageDownloader>
{
    private const int MAX_REQUEST = 10;

    public Action<UnityWebRequest, string> OnError;

Unity - Record Scene sounds

Sometimes we just wanna record sounds from scene, so Unity's MicroPhone API would not be very useful.

But we have OnAudioFilterRead to do this kind of action.

Share a solution which is from
http://evanxmerz.com/blog/index.php/2016/10/07/recording-in-game-audio-in-unity/

This script should be added to a Unity AudioListener GameObject then it could do its works.

HowTo

  • Create a MonoBehaviour script with an OnAudioFilterRead method
    // write the incoming audio to the output string
    void OnAudioFilterRead(float[] data, int channels)
    {