CandyCoded icon indicating copy to clipboard operation
CandyCoded copied to clipboard

🍭 Custom Unity Components that are delightful

CandyCoded

Custom Unity Components that are delightful

Build Status Codacy Badge Join the chat at https://discord.gg/nNtFsfd npm license

Introduction

CandyCoded is a collection of useful components and extensions for building in Unity. Whether you are building a quick prototype or a production-ready experience, CandyCoded will help you get there.

Features

  • ObservableList object
  • Vector2, Vector3 and Vector4 AnimationCurves objects
  • Transform animation methods
  • Raycast reflect method
  • Custom ScriptableObjects with event handlers
  • Event Profiler editor window
  • EnumMask enum attribute
  • InputManager methods
  • SaveManager methods - Tutorial
  • Screenshot methods and editor tools

Installation

Direct Install

Download latest CandyCoded.unitypackage or CandyCoded.dll

Unity Package Manager

https://docs.unity3d.com/Packages/[email protected]/manual/index.html

Git

{
  "dependencies": {
    "xyz.candycoded.candycoded": "https://github.com/CandyCoded/CandyCoded.git#v4.4.0",
    ...
  }
}

Scoped UPM Registry

{
  "dependencies": {
    "xyz.candycoded.candycoded": "4.4.0",
    ...
  },
  "scopedRegistries": [
    {
      "name": "candycoded",
      "url": "https://registry.npmjs.com",
      "scopes": ["xyz.candycoded"]
    }
  ]
}

Include tests

{
  "dependencies": {
    ...
  },
  "testables": ["xyz.candycoded.candycoded"]
}

Contents

  • Introduction
  • Getting Started
  • Tutorials
    • Save & Load ScriptableObjects
  • Objects
    • ObservableList
      • Count
      • IsReadOnly
      • Add
      • AddRange
      • Clear
      • Contains
      • CopyTo
      • GetRange
      • IndexOf
      • Insert
      • InsertRange
      • Pop
      • Random
      • Remove
      • RemoveAt
      • RemoveRange
      • Shift
      • Shuffle
      • Slice
      • Splice
      • Unshift
    • Vector3AnimationCurve
      • EditKeyframeValue
      • IsLooping
      • MaxTime
  • Custom Extensions
    • AnimationCurve
      • EditKeyframeValue
      • IsLooping
      • MaxTime
    • Array
      • Random
    • Camera
      • ScreenToHighPrecisionViewportPoint
    • Float
      • NearlyEqual
    • GameObject
      • AddOrGetComponent
      • GetLayerMask
    • Int
      • Contains
    • LayerMask
      • Contains
    • List
      • Chunk
      • Contains
      • Permutations
      • Pop
      • Random
      • Shift
      • Shuffle
      • Slice
      • Splice
      • Unshift
    • Quaternion
      • SnapRotation
    • String
      • Nicify
    • Transform
      • GetChildrenByName
      • LookAt2D
      • RotateWithInputDelta
    • Vector3
      • NearlyEquals
  • Static Methods
    • Animate
      • Fade
      • MoveTo
      • Position
      • PositionRelative
      • RotateTo
      • Rotation
      • ScaleRelative
      • Scale
      • ScaleTo
      • Stop
      • StopAll
    • Calculation
      • ParentBounds
    • Debugger
      • DrawLines
    • InputMangager
      • GetInputDown
      • GetInputPosition
      • GetInputUp
      • GetMouseButtonDown
      • GetMouseButtonUp
      • GetMousePosition
      • GetActiveTouch
      • GetTouchDown
      • GetTouchPosition
      • GetTouchUp
      • RaycastToGameObject
    • Materials
      • GetMaterialsInChildren
      • SetColorAlpha
    • Math
      • Clerp
    • Raycast
      • Reflect
    • Runner
    • SaveManager
      • SaveData
      • LoadData
      • DeleteData
    • Screenshot
      • Save
      • SaveTransparent
  • ScriptableObject
    • AudioPool
    • Bool
    • CustomGenericScriptableObject
    • Float
    • GameObject
    • GameObjectList
    • GameObjectPool
    • Int
    • List
    • Pool
    • String
  • Unity Editor Extensions
    • EnumMask
    • EventProfiler
    • RangedSliderDrawer

Credits

Fonts used in logo are Escafina and Klinic Slab, both from Lost Type.