AppleyAppley Docs
Docs/Learning Paths

Cameras

Configure game cameras for different gameplay styles.

25 min read Beginner Updated 2026-07-01 v2.0 ~71 min to complete

Introduction

The camera determines what the player sees. This tutorial covers camera modes, positioning, and how to choose the right camera for your game type.

Tutorial 17 of 18

This is part of the Beginner Learning Path. Estimated completion time: 71 minutes. Difficulty: Beginner.

Screenshot

Cameras
Cameras

Step-by-Step Guide

1

Find the Main Camera

Look in the hierarchy for "MainCamera". Every scene has one by default. Select it to see its properties.

2

Choose a camera mode

In the Inspector, set the Camera Mode: First Person, Third Person, Top Down, or Fixed.

3

Position the camera

For Third Person, place the camera behind and above the player. For Top Down, place it high above looking down.

4

Set field of view

Adjust the FOV (Field of View). 60° is standard, 90° is wide-angle (FPS), 30° is telephoto (cinematic).

5

Configure follow

For Third Person, set the camera to follow the player object. Adjust follow speed and look-at target.

6

Test in Play mode

Press Play and move your player. The camera should follow smoothly without jitter. Adjust damping as needed.

FluxScript Example

Here is the FluxScript (Appley Scripting) code for this tutorial:

Cameras — FluxScript
// Camera configuration and control
on start {
  cam = scene.find("MainCamera")
  
  // Third person follow setup
  cam.setMode("third_person")
  cam.setFOV(60)
  cam.setFollowTarget(player)
  cam.setFollowOffset(0, 5, -8)  // Behind and above
  cam.setLookAtTarget(player)
  cam.setDamping(5)  // Smooth follow
}

on update(dt) {
  cam = scene.find("MainCamera")
  
  // Camera zoom with scroll wheel
  scroll = input.getScroll()
  if scroll != 0 {
    offset = cam.getFollowOffset()
    newZ = math.clamp(offset.z + scroll * 0.5, -15, -3)
    cam.setFollowOffset(offset.x, offset.y, newZ)
  }
  
  // Camera rotation with right mouse button
  if input.getMouseButton(1) {
    mouseX = input.getMouseDelta().x
    cam.rotateAroundTarget(0, mouseX * 0.3, 0)
  }
}

Node Script Equivalent

Prefer visual programming? Here is the same logic as a Node Script graph:

Cameras — Node Graph
[On Start] ──► [Find: "MainCamera"]
         ──► [Set Mode: third_person]
         ──► [Set FOV: 60]
         ──► [Set Follow Target: player]
         ──► [Set Follow Offset: (0, 5, -8)]
         ──► [Set Damping: 5]

[On Update] ──► [Get Scroll] ──► [Branch: != 0]
                              ├─ True ──► [Clamp Z] ──► [Set Offset]
            ──► [Get Mouse Button: 1] ──► [Get Mouse Delta]
            ──► [Rotate Around Target]

Pro Tip

Match the camera mode to your game genre: First Person for FPS/horror, Third Person for adventure/RPG, Top Down for strategy/ARPG, Fixed for puzzle/2D.

Watch Out

Only one camera can be active at a time. If you add multiple cameras, set "Active" on just one. Multiple active cameras cause rendering conflicts and performance issues.