Think And Build

Think And Build

Think And Build is a blog about mobile and videogame development, mainly focused on iOS and Unreal Engine.


Unreal Engine

UE4 AI Perception System – with just a little bit of C++

Posted on May 11th, 2019.

In this article I’ll go down the rabbit hole, showing how to setup and use the AI perception system. The official documentation about this topic is good but I had to scrape other needed information from various forum threads, Unreal-Answers posts and a lot of try-fail attempts. This article will condense my experience and findings into a...


What’s up with ThinkAndBuild?

Posted on March 5th, 2019.

Hello Guys! how are you all doing? I’ve recently received emails asking about the blog and its future, so I decided it was time to explain here what I’m working on and why I’m no longer writing on It’s been a long time since the last article — 2 years! — and to me this has been a clear indication...


VIPER-S: writing your own architecture and understand its importance (part 3)

Posted on June 29th, 2017.

It the previous two articles we saw how to setup and implement VIPER-S. In the third and last of the series we will be focusing on sharing information between modules and testing. Sharing data between modules Passing information between modules is a crucial task, and our architecture should be able to take care of it in a clear way. The...


VIPER-S: writing your own architecture to understand its importance (part 2)

Posted on June 19th, 2017.

In the previous article we introduced VIPER-S, with an overview of its Domains and Roles, we organized our modules with folders and we started writing the contract for the “ItemsList” module. With this new article we’ll complete the architecture by implementing the Actors. An Actor is the entity responsible for the implementation of all...


VIPER-S: writing your own architecture to understand its importance (part 1)

Posted on June 19th, 2017.

After some months using VIPER for my apps, I started working on my own architecture: I wanted to create something better for my own needs. I then started sharing thoughts with my colleague Marco. He is on the Android side of things, but we needed to discuss to find common ground and both get to a consistent result. We “kind...


Custom Controls: button action with confirmation through 3D Touch

Posted on January 3rd, 2017.

3D touch is the ability to track user’s touch pressure level and, in my opinion, is one of the most interesting and unexploited feature of iOS touch handling system. With this tutorial we are going to build a custom button that leverages on 3D touch to ask user to confirm button action and, if 3D touch is not available on user...


Implementing the Twitter iOS App UI (Update: Swift 3)

Posted on December 8th, 2016.

After using Twitter’s iOS App for a while, I started looking at it with the developer’s eye and noticed that some of the subtle movements and component interactions are extremely interesting. This sparked my curiosity: how did you guys at Twitter do it? More specifically, let’s talk about the profile view: isn’t...


Quick Guide: Animations with UIViewPropertyAnimator

Posted on November 20th, 2016.

With iOS 10 came a bunch of new interesting features, like the UIViewPropertyAnimator, a brand new class that improves animation handling. The view property animator completely changes the flow that we are used to, adding a finer control over the animations logic. A simple animation Let’s see how to build a simple animation to...


Game Development with Unity: Lessons learned while building Linia

Posted on October 25th, 2016.

The past few months have been intense. Among the many things that happened and kept me away from writing, I got married and released the first game I ever worked on, Linia. Even though I’m super happy about both, I’ll talk about Linia here and about how, by harnessing the power of Unity, we were able to build custom tools to...


Creating custom walkthroughs for your apps

Posted on March 12th, 2016.

One year ago I’ve released BWWalkthrough, a library that simplifies the creation of walkthroughs without any constraints on user interfaces design. The library became quite popular on GitHub, so I’ve decided to write this tutorial to help you guys set up and use it with ease. Here is a sneak peek of the final result of this tutorial (or...