Preview
Visit the preview place to try it out.
Installation Guide
To begin, get the model here
Installation is straight forward. Place the model under StarterGui
How to start the service
Animify will initialize itself. If you don’t want it to, simply destroy the ‘Init’ LocalScript.
To manually require service here is an example:
local Animify = require(script.Parent:WaitForChild('AnimifyClient'))
Note: You will have to require it again when the player respawns
How to add animations and sections
To create a section, create a ModuleScript
under the Sections folder.
The Name
of this module script will be the name of the section.
To add animations to your new section, make a list like this
-- inside the module script
return {
['My Animation'] = 123456
}
The name of the animation and the ID of the animation (number).
Please only enter number values
Alternativley, you can add animations with the API using Controller.AddAnimation() (See API)
This is useful if you want to add a custom animation that may not be accessible by all players. Eg, a vip animation
The Controller (API)
Please note that the AnimifyClient module is referred to as “Controller” in this section.
Controller.AddAnimation(sectionName, animationTitle, animationId)
Adds an animation to the GUI under a specified section.
-
Arguments:
-
sectionName
: Name of the section to place the animation under. If no section exists, it will create one. -
animationTitle
: The display name of the animation. -
animationId
: The number ID used to load the animation.
-
Controller.Query(text)
Searches through button attributes for a section name and disables buttons that don’t match.
-
Arguments:
-
text
: The string to search for in section names.
-
Helper GUI Functions
Here are some functions to help integrate Animify to your game. (if you’re using TopBar+ you may use these functions)
Controller.ToggleState()
Toggles the visibility of the main GUI and the side button.
Controller.OpenGui()
Opens the main GUI. Useful for custom open/close button implementations.
Controller.CloseGui()
Closes the main GUI.
Controller.Refresh()
Deletes all buttons in the GUI and creates new ones from the sections list.
Controller.EnableToggle()
Makes the default toggle button visible.
Controller.DisableToggle()
Hides the default toggle button, useful if you want to implement your own button.
Controller.Frame
Returns the MainFrame of the GUI.
Configuration
The settings are located under “AnimifyClient” module, it’s called “Configuration”
Configuration.UsePlayerCharacter
(bool)
Determines wether the gui will use dummies or the player character to preview animations
Set to true by default.’
You can change how these dummies look, or even use your own custom rigs by changing the “TemplateR15” and “TemplateR6” models.
If the player’s character is
R6
then make sure you only add R6 animations. Same goes to R15
. Other wise the animation won’t play.
Configuration.LoadOnRequire
(bool)
If set to true, Animify will load when required. If you disable this, you can use Controller.Refresh()
to load the gui manually.
Configuration.DefaultAvatarType
(string)
Determines wether an R6
template Rig or R15
template Rig is used ,if an invalid type is set. The controller will warn and not display your animations.
DefaultAvatarType must match Animations, If your animations are not the same type, they will appear frozen. Ex, Adding an R15 animation when the AnimationType is set to R6 won’t work.
Configuration.SectionsEnabled
(bool)
Enables or disables the top section bar in the GUI.
Configuration.HideUiOnSelect
(bool)
Determines whether the UI should automatically close after an animation is selected
Configuration.ToggleButton
(bool)
The default toggle button visibility, Set this to false if you implement KeyBinds.
Configuration.ViewDistance
(number)
Sets the distance from which the camera will focus on the avatar in the viewport.
Configuration.KeyBind
(Enum.KeyCode
)
Defines the keybind for toggling Animify. Set this to nil to disable keybinding entirely. Animify will throw a warning if it isn’t an Enum.
Configuration.Positioning
(string)
Options are ‘Right’ ‘Left’ & ‘Center’
These are preset Udims that can help position the gui. By default it is to the right.
Configuration.CustomPosition
(Udim2)
This positions the gui at the udim2 you input. You can also change this via script by doing:
Animify.Frame.Position = Udim2.new(0,0,0,0)
You can also add a UiDragDetector instance.