Skip to content
This repository has been archived by the owner on Dec 6, 2021. It is now read-only.
Tetsuya Mori edited this page Sep 11, 2018 · 3 revisions

Welcome CAFU 🎉

What CAFU will solve?

Have you ever had the following troubles in scripting with Unity?

  • As if to uncover ancient ruins, you have to read the swollen MonoBehaviour.Update() or GameManager
  • The scope of influence of code is hard to see, renovation and improvement are difficult
  • I would like to conduct a code review by the team, but it tends to get exhausted as the reviewer is hard to understand what is written where
  • I want to introduce the test, but it is difficult because each class is tightly coupled

CAFU was born to solve "there is" in such Unity product development.

Advantages / Disadvantages of introducing

By introducing CAFU, you can enjoy the following benefits.

  • Each class becomes loose coupling
  • Become a project with good prospects
  • High testability
  • Improve renovation and improvement

On the other hand, the following disadvantages can occur.

  • The number of class interfaces increases

The disadvantage is relaxed to some extent by @umm/cafu_generator. @umm/cafu_generator is only supported v2.

Compatible products / Not compatible products

Products compatible with CAFU are products with the following characteristics.

  • Products that need to carry out maintenance over the medium to long term
  • Products involving multiple people, each range of responsibility is not extremely subdivided

On the other hand, products with bad compatibility are products like the following.

  • Product that is required to develop at very high speed such as GameJam