Skip to content

Instantly share code, notes, and snippets.

View WeirdBeardDev's full-sized avatar

WeirdBeardDev WeirdBeardDev

View GitHub Profile
@WeirdBeardDev
WeirdBeardDev / Unity3DPackages
Last active March 17, 2022 20:00
A package manifest for a Unity 3D project.
{
"dependencies": {
"com.unity.collab-proxy": "1.15.15",
"com.unity.feature.characters-animation": "1.0.0",
"com.unity.feature.development": "1.0.1",
"com.unity.ide.visualstudio": "2.0.14",
"com.unity.ide.vscode": "1.2.5",
"com.unity.probuilder": "5.0.4",
"com.unity.test-framework": "1.1.31",
"com.unity.textmeshpro": "3.0.6",
@WeirdBeardDev
WeirdBeardDev / OmniSharpForAnalyzer
Created March 17, 2022 21:12
Turns on analyzer support in VS Code.
{
"RoslynExtensionsOptions": {
"EnableAnalyzersSupport": true,
"LocationPaths": [
"./analyzers"
]
}
}
@WeirdBeardDev
WeirdBeardDev / UnityFolderStructure
Last active March 18, 2022 20:02
A starting folder structure for Unity project. All folders are created directly under the Assets folder.
Animations
Gizmos
Materials
Prefabs
ScriptableOjects
Scripts
Sounds
Sprites
Textures
../Builds
@WeirdBeardDev
WeirdBeardDev / .editorconfig
Last active March 22, 2022 04:46
EditorConfig for Unity Project using a Microsoft.Unity.Analyzers Package
# Top most EditorConfig file
root=true
######################### JSON, PowerShell, Shell scripts, CSProj (XML), and Config (XML) files #########################
[*.{json,ps1,sh,csproj,config}]
######################### Core EditorConfig Options #########################
## https://editorconfig.org/
# Indentation and spacing
indent_style = space
indent_size = 2
@WeirdBeardDev
WeirdBeardDev / settings.json
Created April 1, 2022 18:07
VS Code settings file for a Unity project.
{
"files.exclude":
{
"**/.DS_Store":true,
"**/.git":true,
"**/.gitmodules":true,
"**/*.booproj":true,
"**/*.pidb":true,
"**/*.suo":true,
"**/*.user":true,
@WeirdBeardDev
WeirdBeardDev / 80-Weirdo C# Script__Editor Script-NewEditorScript.cs.txt
Created June 10, 2022 19:56
A Unity script template for Editor scripts.
using UnityEngine;
using UnityEditor;
[InitializeOnLoad]
public static class #SCRIPTNAME#
{
#region Members
private const string DName = nameof(#SCRIPTNAME#); // Debug name
#endregion Members
@WeirdBeardDev
WeirdBeardDev / 80-Weirdo C# Script__MB Script-NewBehaviourScript.cs.txt
Created June 10, 2022 19:57
A Unity script template for MonoBehaviours scripts.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class #SCRIPTNAME# : MonoBehaviour
{
#region Members
private const string DName = nameof(#SCRIPTNAME#); // Debug name
[Header("Logging")]
@WeirdBeardDev
WeirdBeardDev / 80-Weirdo C# Script__POCO Script-NewCsharpScript.cs.txt
Created June 10, 2022 19:58
A Unity script template for POCO scripts.
using System.Collections;
using System.Collections.Generic;
[System.Serializable]
public class #SCRIPTNAME#
{
#region Members
private const string DName = nameof(#SCRIPTNAME#); // Debug name
#endregion Members
@WeirdBeardDev
WeirdBeardDev / 80-Weirdo C# Script__SO Script-NewScriptableObjectScript.cs.txt
Created June 10, 2022 19:58
A Unity script template for creating ScriptableObject scripts.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "New#SCRIPTNAME#", menuName = "ScriptableObjects/New #SCRIPTNAME#", order = 1)]
public class #SCRIPTNAME# : ScriptableObject
{
#region Members
private const string DName = nameof(#SCRIPTNAME#); // Debug name
#endregion Members
@WeirdBeardDev
WeirdBeardDev / LoggerSO.cs
Created May 21, 2023 23:09
A Unity script template to create a Logger scriptable object.
/*
* This work by Jason "Aj" Comfort (https://weirdbearddev.com) is licensed under
* CC BY-SA 4.0. To view a copy of this license, visit https://creativecommons.org/licenses/by-sa/4.0
* Original idea based on [Software Architecture in Unity](https://www.youtube.com/watch?v=sh7f4K9Wbj8) video
*/
using UnityEngine;
[CreateAssetMenu(fileName = "NewLogger", menuName = "ScriptableObjects/New Logger", order = 1)]
public class LoggerSO : ScriptableObject