Skip to content

Instantly share code, notes, and snippets.

View webmonch's full-sized avatar
🍪
Baking something

Vladyslav Melnychenko webmonch

🍪
Baking something
View GitHub Profile
@kdrzymala
kdrzymala / InjcetableFeature.cs
Last active January 4, 2023 08:26
A feature that's Injectable by Zenject
using Entitas;
using Zenject;
using System.Collections;
using System.Collections.Generic;
public class InjectableFeature : Feature
{
public InjectableFeature()
: base()
{
@LotteMakesStuff
LotteMakesStuff / 1.md
Last active June 30, 2025 09:30
UPM: How to make a custom package

UPM: How to make a custom package So, Unity has this shiny new package manager, and you have code you want to share between projects - wouldn't it be great if we could bundle up our shared code and plug it into all the projects that need it? Let's figure out how to make our own Package!


Todo

  • Modify the project manifest
  • Make a package manifest
  • Package the manifest up with some test code
  • Try it out in Unity!

@dLopreiato
dLopreiato / ConvexHull.cs
Last active December 29, 2025 14:07
Code Complete Convex Hull c# for Unity
/* This is taken from this blog post:
* http://loyc-etc.blogspot.ca/2014/05/2d-convex-hull-in-c-45-lines-of-code.html
*
* All I have done is renamed "DList" to "CircularList" and then wrote a wrapper for the generic C# list.
* The structure that is supposed to be used is *much* more efficient, but this works for my purposes.
*
* This can be dropped right into your Unity project and will work without any adjustments.
*/
using System.Collections.Generic;
using UnityEngine;
@exAspArk
exAspArk / self-signed-ssl-mongo.sh
Last active October 28, 2025 14:43
Self-signed SSL Certificate with OpenSSL on MacOS | MongoDB
openssl genrsa -out CAroot.key 2048
openssl req -new -key CAroot.key -out CAroot.csr # CN should be different from the certificates below
openssl req -x509 -days 1825 -key CAroot.key -in CAroot.csr -out CAroot.crt
cat CAroot.crt CAroot.key > CAroot.pem
openssl genrsa -out mongod.key 2048
openssl req -new -key mongod.key -out mongod.csr
openssl x509 -req -days 1825 -in mongod.csr -CA CAroot.pem -CAkey CAroot.key -CAcreateserial -out mongod.crt
cat mongod.crt mongod.key > mongod.pem
@davehampson
davehampson / ShipCamera.cs
Last active January 31, 2023 23:21
Framerate independent blend
using UnityEngine;
public class ShipCamera : MonoBehaviour
{
public GameObject m_Ship;
public Vector3 m_RelativePos;
void LateUpdate()
{
//float scale = 0.05f; // Framerate dependent code, bad.
@LotteMakesStuff
LotteMakesStuff / CustomInspectorCreator.cs
Last active March 4, 2025 17:13
Editor extension that adds a tool to automagically generate boilerplate custom inspector code~ YES! Just drop it into a folder called 'Editor' and it adds a 'custom inspector' option into the Project window!
using UnityEngine;
using UnityEditor;
using System.IO;
public static class CustomInspectorCreator
{
[MenuItem("Assets/Create/Custom Inspector", priority = 81)]
static void CreateInsptorEditorClass()
{
foreach (var script in Selection.objects)
@oinopion
oinopion / read-access.sql
Created October 5, 2016 13:00
How to create read only user in PostgreSQL
-- Create a group
CREATE ROLE readaccess;
-- Grant access to existing tables
GRANT USAGE ON SCHEMA public TO readaccess;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readaccess;
-- Grant access to future tables
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readaccess;
@PostEpoch
PostEpoch / ResizeReorderableListExample.cs
Last active December 19, 2018 08:32 — forked from p-groarke/ResizeReorderableListExample.cs
Resize Unity Reorderable List example.
// Originally from MALQUA
// https://feedback.unity3d.com/suggestions/custom-element-size-in-reorderable-list
// http://i.imgur.com/fIbBorr.gifv
// and SOCAPEX
// https://gist.github.com/Socapex/1d9b45507464681d530b
// Modified by Jesse Hamburger
using UnityEngine;
using UnityEditor;
using UnityEditorInternal;
@maxattack
maxattack / QuaternionUtil.cs
Last active January 22, 2026 12:31
Some Helper Methods for Quaternions in Unity3D
using UnityEngine;
/*
Copyright 2016 Max Kaufmann (max.kaufmann@gmail.com)
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:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
@DashW
DashW / ScreenRecorder.cs
Last active July 9, 2026 14:15
ScreenRecorder - High Performance Unity Video Capture Script
using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Threading;
class BitmapEncoder
{
public static void WriteBitmap(Stream stream, int width, int height, byte[] imageData)