## Welcome to Create Your Frisk's documentation!

NOTE: There will be casual spoilers all over the place. If you haven't played or completed Undertale yet, it's highly recommended that you do so first! Don't say you weren't warned.
You probably want to get right in, so let's keep it short. Honestly, the fastest way to get started is to check out the existing encounters and tinker with them. The documentation is for reference if you want to know the specifics of everything. Help is provided on the /r/Unitale subreddit.
FOR BACKWARDS COMPATIBILITY: You can enable retrocompatibility mode from the options screen, and it should make all Unitale mods compatible with CYF!

#### Note: Create Your Frisk v0.6.5 was built using Unity Personal 2018.2.13f1.
See the GitHub page here.

Indicates content new or changed content in Create Your Frisk v0.6.5.
Finally, you should start your visit with How to read this documentation.

#### Basics

Controls
A short little page that tells you about the controls used in Unitale and Create Your Frisk.
Basic setup
Details folder structure of mods, how the game reads folders and expects files, that kind of stuff. Recommended to start with.
Unity Setup (Optional)
Explains the process of setting up Unity for use with Create Your Frisk, how to use the editor to play mods, where files and folders are located, and how to export CYF builds.
Special Variables
This section talks about the unique variables that are read from a mod's scripts and how to use these variables.
Terminology
This is a short page on what things are called in the documentation. For instance, the white box that the bullet dodging occurs in is referred to as the "arena". Recommended read so you don't get lost in later parts of the documentation.

#### API

Text commands
This is where all the special commands are that you can use in your dialogue boxes. Text effects, colours, character voices, automatic skipping, you name it. You can even add commands to run Lua code!
Game events
If you want to get your hands dirty with Lua, these are the functions the game will use from your script, and at what point they're used. Useful for if you want to have certain events occur during specific times, such as before/after using an act command or item, or just before the fight starts. A must-read for interactive fights.
Functions & Objects
These are most custom functions and objects that you can use in your scripts, detailing how to use them and what they do. Want to control the music, check for game events or handle keyboard input? Global variables so you can communicate between scripts? Need to know how much HP the player has, damage them, heal them? This is where to go! Projectile management and sprite management are split off into separate sections below.
Projectile management
This is where you can read details about how to create projectiles, what you can do with them and some short examples.
The Pixel-Perfect Collision System
This section shows you how CYF's Pixel-Perfect Collision System works. Why would you use square hitboxes when you have a system like this?
Sprites & Animation
This section is about creating sprites and how to control them. By combining sprite functions, you can create animations.
The Text Object
This section details the usage of CYF's Text Object. You can use it to create text anywhere at all, with any font, with or without a bubble, and more!

#### Shaders

Introduction
Here is where you can learn all about the shaders system added in Create Your Frisk v0.6.5! It requires a bit of setting up, but if you can handle it, shaders can be a fun visual addition to a mod.
The Shader Object
This is the actual object used from your battle's Lua scripts to apply and control shaders on a sprite or the entire screen.
Coding a Shader
Covers the process of creating and coding your own shaders for use with Create Your Frisk.

#### Overworld

Basics
This section covers how to set up CYF on your computer with Unity, and describes in general how the Overworld is set up. Read this first if you are making an overworld.
How to create a map
This is where you can learn how to make a map in CYF's Overworld, with Tiled2Unity in mind.
How to create an event
Events are all the different objects, interactables, and cutscenes that you can add to your map. This page explains how to set them up in the Unity editor.
How to animate an event
This smaller tutorial explains the CYFAnimator system in the Overworld, which removes the need to use coding to set up animations on your events.
How to create a shop
This page fully documents everything accessible within Shops you can set up in the Overworld.
Overworld Objects
These are all the different objects you can control from within your Event scripts, and how to use them. Want to show dialogue, save the game, move characters around, control the player's stats, mess with the screen, and so on? These are the pages to see!
A few things like the Audio object are carried over here from encounters. To see a list of all of them, see Overworld - Basics.

#### Resources

Dialog bubble names
A list of every dialogue bubble name you can use with dialogbubble in your monster scripts, and what they look like.
Key List
This section shows you the list of keys available for Input.GetKey(key) and [waitfor:key].

## * YOU WON!
* You earned 0 EXP and 0 gold.
* also the nav menu is broken now