Skip to content

Instantly share code, notes, and snippets.

View karljj1's full-sized avatar

Karl Jones karljj1

View GitHub Profile
@karljj1
karljj1 / CustomParticleCulling.cs
Last active June 4, 2021 08:03
Custom particle culling
using UnityEngine;
public class CustomParticleCulling : MonoBehaviour
{
public float cullingRadius = 10;
public ParticleSystem target;
CullingGroup m_CullingGroup;
Renderer[] m_ParticleRenderers;
[MenuItem("CONTEXT/Component/Find References In Scene")]
private static void OnSearchForReferencesToComponent(MenuCommand command)
{
var component = command.context as Component;
if (component)
{
var searchFilter = "ref:" + component.GetInstanceID() + ":";
foreach (SearchableEditorWindow sw in searchableWindows)
{
if (sw.m_HierarchyType == HierarchyType.GameObjects)
@karljj1
karljj1 / Unity Assembly Definition Debugger.cs
Last active March 27, 2024 17:18
Find out what assemblies are being built and how long each takes.
using System;
using System.Collections.Generic;
using System.Text;
using UnityEditor;
using UnityEditor.Compilation;
using UnityEngine;
[InitializeOnLoad]
public class AsmdefDebug
{
@karljj1
karljj1 / UIParticles.cs
Created March 12, 2019 10:23
A simple example of how Particles can be used in the UI system.
using UnityEngine;
using UnityEngine.UI;
public class UIParticles : MaskableGraphic
{
public ParticleSystemRenderer particleSystemRenderer;
public bool useTransform;
public Texture texture;
void Update()
@karljj1
karljj1 / SelectorScr.cs
Last active December 2, 2022 20:33
Multiple Display Ray casting example
using UnityEngine;
using UnityEngine.UI;
public class SelectorScr : MonoBehaviour
{
public Camera myCam;
private RaycastHit hit;
private Ray ray;
public Text selectedGOName;
using UnityEngine.UIElements;
public class SelectableVisualElement : VisualElement
{
internal new class UxmlFactory : UxmlFactory<SelectableVisualElement> { }
static SelectableVisualElement CurrentSelected;
public virtual string HoverStyle { get => "selectable__hover"; }
using System;
using System.Reflection;
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
public class ScreenDragTest : MonoBehaviour
{
public Vector2 ScreenPos = new Vector2(100, 100);
public bool ConstantRefresh;
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
public class GameViewToolbar
{
static VisualElement toolbar;
[MenuItem("Example/Add Toolbar")]
public static void AddToolbar()
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
public class HideSceneToolbar
{
[MenuItem("Test/Hide the scene toolbar")]
static void Hide()
{
var sceneViews = Resources.FindObjectsOfTypeAll<SceneView>();
@karljj1
karljj1 / GenerateStringTables.cs
Created November 5, 2019 13:04
Example of creating/updating StringTables
using System.Linq;
using UnityEditor;
using UnityEditor.Localization;
using UnityEngine;
using UnityEngine.Localization.Tables;
public class GenerateStringTables : ScriptableWizard
{
public TextAsset jsonFile;
public string tableCollectionName = "My Strings";