This is a list of some of the best packages in the Crayta community with a link to their tutorial. It is oriented to packages which adds basic functionalities and possibilities to your games.
Bookmark this list, it will grow and it will be updated!
Basic and important but not necessarily simple.
-Mighty animations package (Mightykho): Adds the ability to move entities, in different patterns and in an easy way. You can also activate sounds and effects with it.
This package allows you to create smooth multistep animations with ease. It runs each animation step on the server and all the clients simultaneously to ensure a buttery smooth experience.
How to use
Simply drop/add the Animation template into the entity you wish to animate and configure your animation.
playOnInit - Determines if the animation should start as soon as the entity is initialised.
initialDelay - Adds a delay before animation would start. Only av…
-Simple animation package (AdamO): Allow you to use the animations built-in to many of Crayta’s meshes in a number of ways.
Name: Simple Animation
By AdamO on Discord
This package provides a script to allow you to use the animations built-in to many of Crayta’s meshes in a number of ways.
Install the Simple Animation package
Add the “simpleAnimationScript” to any mesh entity that has animations on it (you can sort the mesh library by the “animated” tag).
Set up the properties however suits your game - you can loop the first animation, you can play animations on the client, or you can connect ev…
-NUI - Achievements (Nomaki): Adds a flexible and easy-to-use achievements system to your game.
Listed as: NUI - Achievements
Adds a flexible and easy-to-use achievements system to your game.
Configurable achievements of various types (standard, progress)
Choose from preset icons (thanks games-icons.net !) or use your own
Configurable Achievement Unlocked UI (toast notification) including duration and screen position
Achievement view screen, so players can see their achievement progress
Mark achievements as secret so their info isn’t revealed until they are unlocked
-NUI - XP and Leveling (Nomaki): XP and levelling system for your game.
Available as: "NUI XP and Levelling"
Adds an adjustable and easy-to-use XP and levelling system for your game. Levels can be set up how you want, and provides a solid framework for building on to make more customised or powerful XP systems for your game.
XP and level tracking system, which saves and loads player progress between sessions
XP bar and Level Up UI
Different themes / skins to suit your game’s style
Drag the “NUI XP and Levelling”…
-Damage Vignette (Cereal): Shows a red outline on the screen when you take damage.
Shows a red outline on the screen when you take damage. Works well with the Fall Damage package.
Drag the Damage Vignette template on to the player
-Fall damage (Cereal): It damages the player when you fall from a high place.
Pretty simple script, noticed it didn’t exist. All it does is check if the player has suddenly come to a stop on the Z axis, by some threshold, then applies the difference in damage.
You can set the threshold via the minimumVelocity property on the script
Drag the Fall Damage template onto the player
The fall damage script provides some useful properties
damageMultiplier - this multiplies the damage applied to the player when they take fall damage. You can set this to…
-Text adventure package (ekelrock): Build a text adventure game or make conversations with options with this package. A lot of posibilities and hightly customizable.
This package was designed to help you build a text adventure game but it is very versatile and can be used in a number of interesting ways. Basically, any time you want to display text and buttons as options, this package can most likely help.
Before using this package, I highly recommend checking out the demo/showcase I built to see what it can do and how you might be able to use it in your game. The showcase has examples for using it as a tutorial, for conversations, to open doors, to answer …
-Simple class system (ekelrock): A class selection package with different items, etc.
HOW TO USE THIS PACKAGE:
This package relies on the spawnUserScript, it should be on your User template.
Add the User Class Select to your User template.
Configure the classes and decide when to show the class select menu.
The property classTemplate accepts an array of templates - these should correspond to your classes.
You can change the Player properties (like health, speed, and jump height) for each template to easily customize classes.
The properties classNames and classDescription ar…
-User keypad (Russ): Keypad that allows you to toggle a 9 digit keypad on the user entity.
I just pushed out a package for a simple UI based keypad that allows you to toggle a 9 digit keypad on the user entity.
How to use
Download the “User Keypad” package
Attach the script folder template that comes with it to the user entity
Place an instance of the template “KeyPadTrigger” in the world
Update the properties on this trigger to the required code and results (see below for more information). Note that you can place multiple instances of this trigger
-Event trigger (sinjin): Possibility to fire events from OnEnter/OnCollision/OnInteract with triggers.
[Crayta (4)] [Crayta (5)1920x1080]
– README Event Trigger Package
trigger event(s) using one or more onCollision, onEnter, or onInteract actions
(optional) within x time
(optional) trigger to reset events
eventTrigger controller for settings on locator
one or more triggers
event counter to require x triggers to activate event(s)
optional timer to complete all triggers
optional reset trigger to do event(s) after inital event
place eventTrigger in world …
-SBB Challenge Trigger (Slater): Templated triggers for completing ingame challenges.
Simple trigger that activates challenges.
Place the template anywhere in the game and set the onTrigger propery to onTrigger/sendchallengescript/sendchallenges, change the property to coincide with the event name on the companion site, and you have a working onTrigger Challenge
-State switcher (AdamO): Allows you to switch visibility and collision on an entity and all of its children.
Name: State Switcher
By AdamO on Discord
Created and demonstrated on a stream here -
The State Switcher package allows you to switch visibility and collision on an entity and all of its children (recursively). You can also use it to switch or toggle visibility for a single client, using LocalToggleVisibility or LocalSwitchVisibility.
To set up:
Add the stateSwitcherScript to the root entity of any structure you want to change all visibility / collision o…
-Persistent collectibles (Vilva): Add items into your game that the player can collect only once.
Stadia Name: Vilva#9953
Package Name: Persistent Collectibles
Package Description: Lets you add items into your game that the player can collect. Each item can only be collected once (for each Player) and is persisted in User Data. The collectible will turn inactive and music will stop playing. Includes a widget to show how many items you found and a method to reset collected items.
This package includes the “Local Handler” package by AdamO.
GAME CONTROL MECHANICS -Multi map game (ekelrock): This package allows you to create multiple maps/arenas within your game and cycle through them each round.
This package allows you to create multiple maps/arenas within your game and cycle through them each round. It includes options to change the world settings, music, and results camera for each map, as well as configuration options for cycling randomly or through a set order. It’s been tested with most of the gun-based starter templates (FFA, CTF, TDM, etc) but it should work with any game that uses the default spawn points.
Multi Map Game Demo - Album on Imgur
NOTE: When I started thi…
-Multiple races per world (ekelrock): Configure multiple races in a single world.
This package allows you to set up and configure multiple races in a single world – complete with race time saving and leaderboards for each race. It’s intended to be used in conjunction with the default raceUsesrScript provided in the Time Trial and Obstacle Course starter templates.
HOW IT WORKS:
This package contains 2 scripts: a raceModifierScript and a raceTimeManagerScript. The raceModifierScript overwrites properties on the User’s raceUserScript to match the current race and the raceTime…
-King of the Hill game logic (ekelrock): Basic game logic for a King of the Hill style game.
This package contains the basic game logic for a King of the Hill style game.
It was designed to work with the starter game templates and relies on the default gameController and scoreScript to control rounds and award points to players. It’s currently only been tested with the Free For All starter template but it should work with others as well. Of course, if you run into any issues, find me on the Crayta Discord and I’ll try to help.
Stand Your Ground - FFA KotH
-Vehicles -Drive and Fly (Daystiny): With this package you can enter inside a vehicle and drive it! (or fly with it)
This package allows users / players to “enter” a vehicle and drive or fly it around.
It has been developed for the Daystiny/Vicentek 2021 Dream Vacation Game Jam entry
“Dream Co - The Metaverse Experience” and was also tested in Crayland.
This package emulates physical driving in first person view with non physical vehicles.
Please check Dream Co for the list of controls or have a look at vehicleUserScript.
How to install:
add vehicleUserScript to the User template
add one of the vehicle …
-TrackWorkx package (EdC): TrackWorx is a system to create any kind of game that needs things to run on rails. -Mighty Construction mode (Mightykho): It allows you to activate an RTS-like camera mode and place persistent structures while in it.
Mighty Construction Mode
[Crayta 10_11_21 5_14_36 AM]
Stadia/EGS Name: Mightykho
Contributors: Iceland, NK
Package Name: Mighty Construction Mode
Package Description: This package allows you to activate an RTS-like camera mode and place persistent structures while in it. It will be a perfect foundation for a strategy or a tycoon game.
Share link: https://launch.crayta.com/play/f4z5pe4j
Create a new template with a locator in it and add mcm_constructionScript to this loca…
-Andys Stealth package (Supergoose): Stealth, alarms and security cameras to your games.
Contains a generic alarm system to turn on/off groups of sounds and lights, a Security Camera with trigger or Line of Sight capability and a DropGun which can be attached to the ceiling and can be triggered to automatically point and shoot at a player.
The Alarm System acts a single place to manage all alarm state dependent functionality by using the alarmOnEvent (fired when the alarm is turned on) and alarmOffEvent (fired when the alarm is turned off). It also has enable / disabl…
UI RELATED -User compass (Cereal): It provides a compass across the top of the screen to direct the user to various things.
This package provides a compass across the top of the screen to direct the user to various things.
Font Awesome icons
Google Material icons
Variable opacity name and distance displays based on what you’re actually looking towards
Install the “User Compass” pacakge.
Place the User Compass Template on the user
For each entity you want to direct the user to, add a “compassTargetScript” to the new userCompassTempla…
-Curved health bar (mochi): add a healthbar that includes a curved portion to the user screen.
Package includes the widget and script necessary to add a healthbar that includes a curved portion to the user screen.
To use - Find and install (mochi) Curved Health Bar Package then add the CurvedHealthBarTemplate to the User Entity.
To update - update the percentFull as a number between 0 - 100 in order to change the green bar.
Can add a url for the playerIconUrl property, otherwise will use the PlayerCardIcon by default.
Added a step property, 0 means you control th…
-Screen fade package (AdamO): Fade the screen to a color and back over time.
Name: Screen Fade
By AdamO on Discord
How to use:
Install Screen Fade from the Community Tab
Add the ScreenFade script folder template to your User template
To use, call “DoScreenFade()” on the User entity from any script
You must pass the first parameter, FadeTime, which is how long the fade in AND fade out take. I.e. if you pass 1, it will take 1 second to fade in, 1 second to fade out
You can optionally then pass a HoldTime parameter, which means it will hold at full opacity fo…
-Simple sign package (AdamO): UI sign which allows you to add a text box. Drag, drop and configure. You can change text, sizes, colours, fonts, alignment and more.
Package Name: Simple Sign
Creator: AdamO on Discord
A highly configurable sign package to allow you to quickly create and personalise UI signs in your game!
Install the Simple Sign package
Drop a “SimpleSign” template into your world and position / resize it where you want
Simulate it, this will ensure you can see all updates happening to it
Adjust the many properties until you’re happy with your sign!
The Simple Sign comes with these properties:
-Simple image package (AdamO): Add custom images to your games in an easy way.
Name: Simple Image
This package provides a “SimpleImage” template. Drag this into your world, and paste in the URL of your image (you can upload UI images and find their URLs here -
https://create.crayta.com/images/mine_ui). Preview to instantly see your image in-world! You can also use this for sprites (by changing the widget type in the property window), for example to highlight a pickup in your world.
You can also adjust the opacity of your image - 0 is transparent, 1 is fully opaque.
-NUI - Location notice (Nomaki): Shows an animated on-screen notice, good for displaying location names.
Available as: "NUI - Location"
Shows an animated on-screen notice, good for displaying location names
Simple set up
Localisable label and title fields
Customisable global and per-trigger durations
Drag the “NUI Location Notice” template onto your User
Either use the “NUI Location Trigger Example” template, or add the showLocationScript to any trigger
-NUI - Overlay (Nomaki): Visually overlays the position of tagged entities in-world on to the users screen.
Available as: "NUI Overlay"
Visually overlays the position of tagged entities in-world on to the users screen
Simple set up, easily extendable
Overlay specific targets on-screen
Show entity name and/or distance to target
Set different types of overlay (primary waypoint, secondary targets etc)
Sticks to the edge of the screen so you can tell where to look to find them
Drag the “NUI Overlay” template onto your User
Either add an instance of “NUI Overlay…
-NUI - Splash screen (Nomaki): Adds a configurable splash screen to the beginning of your game.
Available as: "NUI Splash Screen"
Adds a configurable splash screen to the beginning of your game which each User will see when they join.
[Splash Screen demo]
Configurable text, fonts, sizes and durations of each screen
Use fullscreen cover images, or game logos
Optionally require interaction to close the splash screen “Press A to start”
Drag the “NUI Splash Screen” template onto your User
Pitch your now professional looking game to an investment f…
-Floating damage indicator (strowk): It shows damage overhead of player or entity.
To show damage overhead of player or entity.
To install just drop FloatingDamageIndicator on entity or player template. In case of entity you would need to adjust widget config to set Visibility from Remote Only to Everyone. Remote Only is enabled by default, because player likely does not need to see damage to them additionally.
Attaching to OnDamage
By default package would listen in OnDamage call and use received damage (as well as causer) to display it…
MUSICAL -Build-A-Base Music package (Vilva): Add a playlist of Crayta music and a selector for the players.
Stadia Name: Vilva#9953
Package Name: Music Player
Package Description: An UI-only Music Player that constantly plays music to the User. Supports skipping the current song on keybind. Includes the whole Crayta Playlist by default. Supports adding your own playlist and randomly shuffling songs. Includes a modified version of the “User Jukebox UI” Package.
Place the MusicPlayerUser Template under your User template.
Credits & s…
-Sound randomizer (ephemerald): Randomize your music playlist or sounds.
Use the Sound Randomizer package to randomize sounds in your game!
I worked hard to make the code very readable and the tooltips extensive, so theoretically you shouldn’t need this guide, but in case here’s how it works and a place to ask questions/request features if you have any. Also, remember the Sound Randomizer - Advanced Examples package includes a couple others for you to take a look at.
So, with Sound Randomizer…
Two versions exist, a static one and the standard one.
Which do I use? -Misfire_Maestro (daigoro): A bit complex but crazily cool music package. It let’s you play your own MIDI songs in Crayta.
Currently under construction.
0. Place the maestro locator in the world. Open the Template Sound templates and select the maestro locator for the maestro property.
1. Create a script and attach it to the Meastro Locator (preferable the Midi subfolder).
2. Go to https://daigoro96.github.io/crayta_midify/
and convert your midi into your Crayta script (and copy paste it into the one you created)
3. Use maestro_MainScript:FindMidi(midiName):Play() to play yo…
-Play Multiple sounds (Supergoose): Add an array of sounds and call the play function to play them all.
Add an array of sounds and call the play function to play them all. You can also stop the sounds using the stop function (if any sounds are looping e.g. music or ambience).
Pause this amount of time (in seconds) before starting to play sounds.
You can also specify the amount of time to wait between playing each sound. This is formatted as an array. The first sound will play after time specified in start delay, and then each subsequent sound will play after time spec…
Camera settings, filming packages and all you need for configure it.
-Tutorial package (Russ): Show a set of tutorial screens with different cameras and text at the start of a game.
Hey. If you’ve played Canyon Miners (
https://launch.crayta.com/play/c8agbkzz) you’ll have seen a tutorial system I made for players when they first log in to play. I’ve made that into a handy package which you can install now and use in your games in a number of ways.
How to install
Go to the community tab and search for “Tutorial”
Install the package
Add the UserTutorial template to your User template
Now your game is ready to display tutorials and handle the save data that ensures players …
-Filming camera (AdamO): Great for screenshots and gifs.
Name Filming Camera
By: AdamO in Discord
The filming camera package aims to provide a large suite of camera controls, primarily to help with filming your Crayta games. This might be for creating a trailer, getting a great shot for promoting your game on social media, or any other reason. It is also great for capturing exciting screenshots within your games.
The package is quite easy to use for simple operations, but can become quite complex as you dig into more features. There’s cert…
Are you looking for a more advanced packages? This is your section!
-User Analytics package (mochi): Track user count and time to trigger events.
Announcing a user analytics package to supplement the companion site analytics.
At a glance:
Install from (mochi) User Analytics Package from the community tab
Segment users by how many total visits they have made
See average session times for each visit
Track individual events / milestones that players reach as well as average session time to reach
Ability to remove self data from analytics
Ability to white list who can pull up analytics
Ability to scroll using arrow keys if not all events f…
-LYQuaternion - LyFramework (Gamely): Support code to write more modular single scoped scripts , instead of mixes of multiple ad hoc implementation of just solved problems.
Ly Require and all the Ly Libraries uses a feature of lua that is not supported by Crayta as a way to pass libs around. While this will get fixed you could use X1 as alternative to LyRequire, still there are no plans to make Ly libraries compatible with X1 in the near future as I hope that Crayta will get a native library solution that doesn’t imply the use of _G.
Ly Require is the glue of Ly Framework and is a dependency for every other package.
It let’s you get other libraryes fro…
-X1 Interactive systems (TheDeveloper + Wes): The interactive system uses config scripts to execute various different actions, you can combine it with other systems to chain events together or add basic logic without code using the property events.
These systems are my approach to enabling non-coders to get access to the Crayta API via the X1 package. With these systems, you can create your own fully interactive world - animations, moves, rotates, teleporting, spawning/despawning, and much more all made available via config scripts designed with consistency and flexibility at the focus. All events and states can trigger any of the other events or states.
DayNight system allows you to trigger any of these events at certain times …
OTHER INTERESTING PACKAGES
More packages you should check!
-Mighty Defence system (Mightykho): Contains one turret which aims and shoots.
Mighty Defense System
Stadia/EGS Name: Mightykho
Contributors: Iceland, NK
Package Name: Mighty Defense System
Package Description: This package allows you to create modular automated turrets for your base defense.
This package is highly configurable and although right now it only contains one turret you can use components from this package to assemble something completely different without writing a single line of code.
A good way to start would be to use LargeTurretExam…
-Mighty Lasers (Mightykho): Brings lasers and laser signal logic to Crayta. Incredible package for damaging lasers or even make puzzles!
Mighty lasers is the package that brings lasers and laser signal logic to Crayta.
The Demo: v6yp4kah
Right now its mainly going to be useful for puzzle games or obstacle courses, but at the same time it provides a solid foundation for laser-related packages with more exciting use cases like:
Automated laser turrets.
Gun laser sight
This entity emits the laser signal in the forward direction.
isActive: Activates the laser o…
-Controller-Keyboard (Daystiny): This package provides your game with a keyboard that can be used with a controller for input. It works similar to old mobile phone.
This package provides your game with a keyboard that can be used with a controller for input.
It works similar to old mobile phone where you repeatedly push a button to choose the alphabetical characters on this button. So if the button says 2ABC, you push once for 2, twice for A and so on.
The default target of the keyboard is chat - calling user scrips with “OnChatMessage”. It will not work with the standard out of the box chat, but for example with the chat from the Notifications package or…
This is only a small list of a bunch of packages inside Crayta. There are MANY, so I hope this post only encourages you to discover more and, if you feel I miss any important package feel free to add it to your suggestions with a link in the comments below.
----------------IT IS STILL WIP