Skip to content

Create and use a ScriptableObject-based Surface Management system for your game!

License

Notifications You must be signed in to change notification settings

llamacademy/surface-manager

Repository files navigation

Surface Management System

Create and use a ScriptableObject-based Surface Management system for your game!

In this tutorial video learn how this system works, and how you can use it to create new Surfaces, Impact Types, and even extends to more Surface Effects than just Spawning Object Effect and Play Audio Effect (that's all that's included!).

A common need in video games, to increase immersion of the player, is to add some effect when an impact is made. Using this system whenever an impact is made by any arbitrary action in your game, you can simply call SurfaceManager.Instance.HandleImpact() and this system will utilize Scriptable Objects to determine which effects to play. This allows you to have a highly configuration-driven surface management system where you can reuse effects across different impacts when that makes sense, and easily add/change effects when you want a unique effect!

Youtube Tutorial

Patreon Supporters

Have you been getting value out of these tutorials? Do you believe in LlamAcademy's mission of helping everyone make their game dev dream become a reality? Consider becoming a Patreon supporter and get your name added to this list, as well as other cool perks. Head over to https://patreon.com/llamacademy to show your support.

Phenomenal Supporter Tier

  • YOUR NAME HERE!

Tremendous Supporter Tier

  • YOUR NAME HERE!

Awesome Supporter Tier

  • Raphael
  • Andrew Bowen
  • Gerald Anderson
  • AudemKay
  • Paul Berry
  • Matt Parkin
  • YOUR NAME HERE!

Supporters

  • Bastian
  • Trey Briggs
  • YOUR NAME HERE!

Other Projects

Interested in other AI Topics in Unity, or other tutorials on Unity in general?

Requirements

  • Requires Unity 2020.3 LTS or higher.
  • Unity Particle Pack - Import this immediately after cloning the project!

Sponsor this project

Languages