🔥 Feel is the best way to improve your game's feel and make it extra juicy. 🔥
Packed with more than 100 feedbacks, it'll let you easily trigger screenshakes, animate transforms, play with sounds, cameras, particles, physics, post processing, text, shaders, time, UI, and so much more.
⚡ From the creator of the acclaimed Corgi Engine and TopDown Engine, it is the best game feel framework out there, whether you're new to Unity, or an experienced developer. Clean code, good practices, optimizations, it'll likely completely change your workflow as far as gamefeel is concerned.
🌀 Extremely easy to use, MMFeedbacks are going to change the way you make your games awesome. Just create an empty game object, add the MMFeedbacks class to it, and you can start adding and tweaking individual feedbacks. With more than 100 different feedbacks to pick from, it's now super easy to create games that feel good.
👉 Complete features list
🏗 How to install Feel?
🐛 Getting errors?
💾 Extensions Repository
🎮 HTML Demos
🍏 iOS Demo
📳 This asset contains :
- 20+ demos, from minimal scenes to a complete game, showing various ways you can use Feel to make your game feel good
- MMFeedbacks, its core system, an intuitive way to trigger effects
- Nice Vibrations, the best haptics solution for Unity out there
- MMTools, a library of helpers and tools for all situations
✨ Full list of feedbacks :
- AudioSource : lets you play, pause, unpause or stop a preexisting audiousource on demand. You’ll also be able to play/pause/stop/resume it at a random pitch and volume, and through an optional audio mixer group.
- Sound : another way to trigger a sound. You specify an audio clip, and then you can decide to have it instantiated on demand, cached, have it create an object pool of ready to use sounds, or even trigger a sound event. This feedback also lets you preview your sound from the editor.
- AudioSource Pitch : tweak an AudioSource’s pitch over time.
- AudioSource Stereo Pan : alter the stereo pan value of an AudioSource over time.
- AudioSource Volume : lets you tween the volume of an audio source over time.
- Distortion Filter : tween the distortion level of a distortion filter over time.
- Echo Filter : tween echo over time.
- High Pass Filter : tween the cutoff of a high pass over time.
- Low Pass Filter : tween the cutoff of a low pass over time.
- Reverb Filter : tween reverb levels over time.
- AudioMixer Snapshot Transition : lets you transition to a target snapshot over a specified duration
- MMSoundManager All Sounds Control : control all sounds playing on a MMSoundManager
- MMSoundManager Save and Load : save and load MMSoundManager settings (track volume, etc)
- MMSoundManager Sound : lets you play a sound on the MMSoundManager
- MMSoundManager Sound Control : lets you play/pause/resume/setVolume/more on a sound playing on the MMSoundManager
- MMSoundManager Sound Fade : lets you fade sounds in/out on the MMSoundManager
- MMSoundManager Track Control : lets you control entire tracks (music, UI, sfx, master) on a MMSoundManager
- MMSoundManager Track Fade : lets you fade the tracks of the MMSoundManager
- Camera Shake : simply shakes the camera over time, lets you specify a duration (in seconds), an amplitude and a frequency.
- Zoom : lets you zoom in or out when the feedback plays, either for a specified duration, or until further notice.
- Flash : flashes an image on screen, or simply a color for a short duration.
- Fade : fades an image in or out, useful for transitions.
- Field of View : control a camera’s field of view over time.
- Clipping Planes : lets you tween the near and far clipping planes distances of a camera over time.
- Orthographic Size : for orthographic/2D cameras only, lets you tween the camera’s size over time, basically zooming in or out.
- Cinemachine Transition : lets you transition to another virtual camera, using the blend of your choice, and auto managing other camera’s priorities.
- Cinemachine Impulse : triggers a Cinemachine Impulse to shake your virtual cameras.
- Cinemachine Impulse Clear : to cancel any Cinemachine Impulse that may be playing
- Events : lets you associate any sort of Unity event to a feedback, and lets you trigger them on play, stop, initialization or reset.
- LoadScene : lets you load a destination scene using various methods, either native or using MMTools’ loading screens
- UnloadScene : lets you unload a scene
- Animation : lets you play any animation on an animator. Bind an animator to the feedback’s inspector, and it’ll let you update trigger and/or bool animation parameters.
- Destroy : lets you destroy, destroy immediate or disable a specific game object
- Enable Behaviour : enables or disables a monobehaviour when the feedback plays, inits, stops or resets.
- Float Controller : possibly the most powerful of all the MMFeedbacks, this one lets you control a float value on any monobehaviour.
- Instantiate Object : spawns objects when the feedback plays, at the specified position.
- Rigidbody : adds force or torque to a Rigidbody
- Rigidbody2D : adds force or torque to a Rigidbody2D
- Property : lets you target and control any property or field (floats, vectors, ints, strings, colors, etc), on any object (including ScriptableObjects), and control it over time
- Set Active : sets an object active or inactive
- Feedbacks : lets you trigger other MMFeedbacks within the specified range
- MMRadioSignal : this feedback lets you control a MMRadioSignal, that can then be broadcasted to control receivers, to pilot any value you want on any component, on any object.
- MMRadio Broadcast : similar to the MMRadioSignal one, but directly broadcasts the signal to any receivers, instead of going through an emitter
🧪 HDRP VOLUME
- Bloom HDRP : control bloom intensity over time
- Chromatic Aberration HDRP : control the force of a chromatic aberration over time
- Channel Mixer HDRP : control red, green and blue channels independently over time
- Color Adjustments HDRP : lets you play with many color adjustments options : post exposure, saturation, hue shift, contrast…
- Film Grain HDRP : lets you control the grain intensity over time
- Lens Distortion HDRP : lens distortion on demand
- Motion Blur HDRP : motion blur level over time
- Panini Projection HDRP : tweak a panini projection’s distance and crop to fit over time
- Vignette HDRP : control vignette parameters over time
- White Balance HDRP : control white balance parameters over time
- Looper : moves the current “head” of an MMFeedbacks sequence back to another feedback above in the list. You can then have that sequence repeat any number of times of your choice, or indefinitely.
- Looper Start : can act as a pause but also as a start point for your loops.
- Particles Instantiation : instantiate particles and play them. You can instantiate them on demand or cache them, and you can specify the position you want them at.
- Particles Play : control an existing particle system. The feedback also lets you move it to the feedback’s position on demand.
- Pause : causes a pause in the feedbacks sequence when met, preventing any other feedback lower in the sequence to run until the pause is complete.
- Holding Pause : holds until all previous feedbacks in the sequence, as well as this feedback’s pause have been executed.
🚨 POST PROCESSING
- Bloom : control bloom intensity and threshold over time.
- Chromatic Aberration : control the force of a chromatic aberration over time.
- Color Grading : lets you play with many color grading options : post exposure, saturation, hue shift, contrast…
- Depth of Field : lets you control depth of field focus distance, aperture and focal length over time.
- Global PP Volume Auto Blend : tween a PostProcessing volume’s weight.
- Lens Distortion : lens distortion on demand.
- PP Moving Filter : move a post processing filter in or out of the camera.
- Vignette : control vignette parameters over time.
- Flicker : lets you rapidly change the color of a material. By default this will control the target renderer’s shader’s Color value but the feedback also lets you specify your own if you want. Comes with flicker duration, octave and color control.
- Fog : lets you animate the density, color, end and start distance of your scene’s fog
- Material : changes the material of the target renderer everytime it’s played, out of an array of materials. You can swap them sequentially or randomly.
- MMBlink : controls an MMBlink, letting you do advanced blinking behaviours.
- Shader Controller : similar to the Float Controller, lets you control most settings of any shader. Will require a ShaderController component on your target.
- SpriteRenderer : take control of a SpriteRenderer’s color and X or Y flip
- Skybox : lets you assign a new material (at random or not) to change the scene’s skybox to a new one
- TextureOffset : lets you control a target renderer’s material’s texture offset over time
- TextureScale : lets you control a target renderer’s material’s texture scale over time
📜 TEXT MESH PRO
- TextMeshPro Font Size : lets you modify the size of a TMP’s font over time
- TextMeshPro Text : lets you modify the text of a target TMP text component
- TextMeshPro Character Spacing : change horizontal spacing between characters in your TMP text over time
- TextMeshPro Word Spacing : change horizontal spacing between words in your TMP text over time
- TextMeshPro Line Spacing : change vertical spacing between lines in your TMP text over time
- TextMeshPro Paragraph Spacing : change vertical spacing between paragraphs in your TMP text over time
- TextMeshPro Color : change text color over time
- TextMeshPro Outline Width : change a text’s outline width over time
- TextMeshPro Outline Color : change a text’s outline color over time
- TextMeshPro Dilate : will tweak the position of the text contour in the distance field
- TextMeshPro Softness : will let you animate the softness of the text contour
- TextMeshPro TextReveal : lets you reveal a target text character by character, word by word, or line by line, over time
- Freeze Frame : freeze the timescale for a short duration of your choice.
- Time Modifier : complete control over time, slow it down, speed it up, with optional customizable interpolation.
- Position : lets you tweak the position of a transform over time with different modes : A to B will move the object from an initial to a destination position, at the specified speed, duration and acceleration. Along Curve will move the object along the defined curve, with remapped values, on any or all of the 3 axes. To Destination will move the object to the specified destination.
- Rotation : lets you play with the rotation of a transform over time, packed with options. Similar to the position feedback, you can rotate an object in absolute mode, additive (adding to its current rotation at the start of the play), or to a defined destination.
- Scale : lets you animate the scale of a transform over time. Comes with similar options and settings as the Position and Rotation feedbacks.
- Wiggle : lets you play with rotation, scale and position over time. You’ll need an MMWiggle component on your target object for this to work.
- DestinationTransform : lets you animate all properties (position, rotation, scale) of a transform to match a destination transform’s properties
🧪 URP VOLUME
- Bloom URP : control bloom intensity over time
- Channel Mixer URP : control bloom intensity over time
- Chromatic Aberration URP : control the force of a chromatic aberration over time
- Color Adjustments URP : lets you play with many color adjustments options : post exposure, saturation, hue shift, contrast…
- Depth of Field URP : lets you control depth of field parameters over time
- Film Grain URP : lets you control film grain intensity over time
- Global PP Volume Auto Blend URP : tween a PostProcessing volume’s weight
- Lens Distortion URP : lens distortion on demand
- Motion Blur URP : motion blur level over time
- Panini Projection URP : tweak a panini projection’s distance and crop to fit over time
- Vignette URP : control vignette parameters over time
- White Balance URP : control white balance parameters over time
- ImageRaycastTarget : this feedback will let you control the RaycastTarget parameter of a target image, turning it on or off on play
- CanvasGroup : lets you control a CanvasGroup’s alpha over time
- CanvasGroupBlocksRaycasts : lets you turn the BlocksRaycast parameter of a target CanvasGroup on or off on play
- Image : lets you play with the color of an Image over time
- RectTransformAnchor : lets you control a RectTransform’s min and max anchor positions over time
- RectTransformPivot : lets you control the position of a RectTransform’s pivot point over time
- RectTransformOffset : lets you control the offset of the lower left corner of the rectangle relative to the lower left anchor, and the offset of the upper right corner of the rectangle relative to the upper right anchor
- RectTransformSizeDelta : lets you animate the size of this RectTransform relative to the distances between the anchors, over time
- Floating Text : lets you easily spawn floaty text (usually damage text, but not limited to that)
- Text : lets you control the contents of a target Text
- TextColor : lets you change the color of a target Text over time
- TextFontSize : lets you alter the font size of a target text over time
- VideoPlayer : lets you control VideoPlayer components in all sorts of ways
- Light : complete control over a light’s intensity and color over time
- Debug Log : lets you output debug messages to the console, using different methods (MMDebug, warning, error, log, etc)
- Debug Comments : lets you leave comments on MMFeedbacks, for yourself or for your teammates
- Nice Vibrations Haptics : this feedback lets you play the NiceVibration haptic feedback of your choice. This requires you bought the NiceVibrations asset from the Unity Asset Store.
>> Check out all the other features.
If you have any question, please use the support form.
👷 Install instructions : click here to learn how to install Feel in your project in just a few simple steps.
⚠ Important :
- Feel is a major upgrade to the MMFeedbacks asset - it's MMFeedbacks 2.0, making it bigger and better. Owners of MMFeedbacks can upgrade to Feel free of charge. Do not buy both of them.
- MMFeedbacks and MMTools are already included in Corgi Engine and TopDown Engine. If you own any of these, only buy Feel if you need it as a separate package.
- This asset includes Nice Vibrations as a gift. Do not buy it twice!