I think he means Plugins, I use F3X ect.
I’d recommend YouTube, those provide LOTS of libraries for scripting, sometimes can be found on Pastebins.
I hardly ever use external libraries, and with the require() function being given the boot alot of apis and libraries have dissapeared. I would look around in Community Resources as some pop up from time to time.
I wish you luck with your searching
I don’t use it but AeroGameFramework is very nice as it connects all of your modules up, client, server, etc… You should look in to it.
There are far too many things to list in a single post, that I use or are very helpful. As a starting point, check out #learning-resources:tutorials and #learning-resources:community-tutorials-resources for some developer-written articles that may serve to your benefit.
If you’re looking specifically at libraries or packages, try looking at @Validark’s RoStrap Package Manager. You can also have a look at @Quenty’s NevermoreEngine (fairly popular, iirc).
Happens to me to make my own libraries for a specific game, for example to replace parts of code I would do very often:
Example:
If I had to create lots of instances during the game time, I’d add in my library a function called create, that would create and put properties quickly to an object.
local newObj = Instance.new(obj);
for i,v in pairs(props) do
if newObj[i] then
newObj[i]=v
end end
return newObj
end
I do lots of small functions like this to shorten the code at the end.
I also use a lot of wiki.roblox.com and youtube.com
- This scale character module is really handy
https://www.roblox.com/library/201433042/Scale-Character-Module - I’ve used CloneTrooper1019’s 3D GUI module before, but with viewportframes it is obsolete https://www.roblox.com/library/251867561/Module3D-v3-0-Official-Release
- I have used this trello api before but I prefer to do it myself per-script now
https://www.roblox.com/library/214265621/Trello-API-Original - I often grab the loadstring module from EISS and Adonis because I can’t find a good copy of it anywhere else. https://www.roblox.com/library/190572769/EISS-Main-Module
- For saving instances https://www.roblox.com/library/176696010/EncodeInstance-Module-Does-not-work-with-CSG
- Merelys time module is excellent https://www.roblox.com/library/139051140/TimeModule
- This is useful for beziers https://www.roblox.com/library/236384347/Bezier-Module
- Easing https://www.roblox.com/library/186495470/Easing-Functions
- Tweening https://www.roblox.com/library/137767119/Tweening-Library
I use Quenty’s NeverMoreEngine for most of my projects. It contains a lot of useful modules and easy remote handling.
I use my own personal library of useful functions. I literally rely on my own module…
I use Git for version control. I use a tool called Rojo to write my code in Visual Studio Code and have it automatically synced in to my Roblox file. You can save files as .rbxlx for XML format, I recommend doing this for Git.
Roact is an interesting project I don’t personally use at the moment but am interested in. It’s React for Roblox UI development.
This is very cool. Any way to make an existing project use rojo instead of creating it from scratch?
Mostly my own framework, but it’s completely incompatible with other projects so I never bothered even considering making it open-source. As for the other modules, mostly Quaternion and Matrix modules, shortly just the basic mathematical stuff to make my life easier.
For most projects of small size, it should only take maybe half an hour to convert it, but I don’t think syncing your Roblox file to a Rojo project will be available until v0.5.0’s full release, which is in alpha right now.
I use roblox-ts, along with rbx-datastore2, rbx-net, rbx-t, rbx-roact, Rojo, TSLint, and I have plans of adding Rodux into my workflow.
I use Datastore 2 for all of my projects and I use the Moon Animation Suite for animating.
I also use YouTube and wiki alot.
If you are looking for Interpolation libraries (Tween / Easing / Bezier libraries), I recommend my own, although they are integrated with RoStrap.
I do not recommend using Time libraries that perform loops to figure out the date. Here is my implementation of an efficient algorithm for obtaining the Year/Month/Day for a given number of seconds after Jan 1 1970, as described by one of the main people writing the standard Date/Time libraries for C++ (credited in the source). However, for most use cases I prefer my re-implementation of the vanilla os.date function for Roblox (click the title to view the source). This is integrated with RoStrap, but only barely. If you like you can just remove lines 5 and 6 and switch out Debug.Error
for error
and it will work perfectly without any dependencies.
Do you have the source for your Date library anywhere? I am not using RoStrap because I am using Rojo and I want to keep all of my code in one place.
thanks!
I use a ton of my own libraries (private, but I’ll describe what they do):
- Elttob Utils - provides a ton of useful functions, e.g. deep cloning, index of, “pwait” (only wait after a certain time interval, useful for long running tasks)
- Metrics - makes measuring the execution time of various code snippets easy in production code
- AABB - provides an OOP interface for working with axis aligned bounding boxes
- Span - my own formatted text renderer that doesn’t annihilate text kerning at small sizes
- Pick - CSS-like selectors for filtering descendants of instances (which I turned into a nifty plugin for selecting instances precisely)
- Object - makes OOP code really easy to write:
local Thing = Object() -- make a new OOP class
function Thing:constructor(foo)
-- ...
end
local SubClass = Object{Thing} --extending a class, supports multiple inheritance btw!
- Lazy Require - variant of require() that only requires the module when you index it (convenient for solving require loops without having to move the declarations from the top of the file or passing arguments)
- Set - More semantic way of defining sets, with support for all data types and some extra stuff like reduce()
- UITags - My own system for applying behaviour to UI elements on mass, by marking up UI elements with value instances.
- MakeWidget - Makes plugin widgets from ScreenGuis.
- Observer - Lets you track changes to tables.
- Event - Lets you define BindableEvent-like objects in Lua.
- ColorUtils - Various utility functions for working with Color3s.
- Pretty - Turns tables into nicely formatted strings.
- Instances - Some utility functions for creating and manipulating Instances.
- Lut - Turns arrays into two way look up tables.
- Files - Utilities for working with file contents (normalise newlines, get row and column from string position)
Most libraries for RoStrap are found on the RoStrap GitHub repository.
Here is the link for the source of the Date library:
https://raw.githubusercontent.com/RoStrap/Time/master/Date.lua
Here is the documentation for the Date library on the RoStrap page: