File Types
Argon supports various file types, here is how they are transformed into Roblox instances!
Overview
File Type | File Name |
---|---|
Folder | any directory |
Server Script | *.server.lua / *.server.luau |
Client Script | *.client.lua / *.client.luau |
Module Script | *.lua / *.luau |
XML Model | *.rbxmx |
Binary Model | *.rbxm |
JSON Model | *.model.json |
JSON Module | *.json |
TOML Module | *.toml |
YAML Module | *.yaml / *.yml |
MessagePack Module | *.msgpack |
Plain Text | *.txt |
Localization Table | *.csv |
Project | *.project.json |
Data File | *.data.json / .data.json |
Instances with Children
All mentioned file types can contain children. To do so you have to create a folder with the desired name and add .src
or init
file with the suffix based on the desired file type inside that folder. The only exceptions are: Project whose immediate children are ignored and Data File which is used to describe instance. Here are some examples:
Instance + Children
Filesystem | Roblox |
---|---|
(Instance + Data) + Children
Filesystem | Roblox |
---|---|
Instance + (Children + Data)
Filesystem | Roblox |
---|---|
Only one .src
/ init
file and one .data
/ init.meta
can be present in the same folder!
Folder
Any directory on the filesystem will turn into a Folder
instance with the same name. It is possible for a directory to contain certain files that change what the directory turns into described above.
Scripts
Files with lua
or luau
extensions are transformed into the corresponding Roblox script instances:
- Any file ending in
.server.lua(u)
will turn into aScript
instance - Any file ending in
.client.lua(u)
will turn into aLocalScript
instance - Any other
.lua(u)
file will turn into aModuleScript
instance
You can disable scripts by adding --disable
comment at the very beginning of the script source without needing to create special Data File only for this property!
If the project has legacyScripts
setting disabled:
.server.lua(u)
will turn into aScript
with aServer
run context.client.lua(u)
will turn into aScript
with aLocal
run context
Roblox Models
Both binary (rbxm
) and XML (rbxmx
) models generated by Roblox Studio and other tools are supported. They get seamlessly integrated with the project tree.
Property type support chart
Property Type | Example Property | CLI | Plugin | XML | Binary |
---|---|---|---|---|---|
Attributes | Instance.Attributes | ✅ | ✅ | ✅ | ✅ |
Axes | ArcHandles.Axes | ✅ | ✅ | ✅ | ✅ |
BinaryString | BinaryStringValue.Value | ✅ | ⏺️ | ✅ | ✅ |
Bool | Part.Anchored | ✅ | ✅ | ✅ | ✅ |
BrickColor | Part.BrickColor | ✅ | ✅ | ✅ | ✅ |
Bytecode | N/A | ❌ | ⛔ | ❌ | ❌ |
CFrame | Camera.CFrame | ✅ | ✅ | ✅ | ✅ |
Color3 | Lighting.Ambient | ✅ | ✅ | ✅ | ✅ |
Color3uint8 | Part.BrickColor | ✅ | ✅ | ✅ | ✅ |
ColorSequence | Beam.Color | ✅ | ✅ | ✅ | ✅ |
Content | Decal.Texture | ✅ | ✅ | ✅ | ✅ |
Enum | Part.Shape | ✅ | ✅ | ✅ | ✅ |
Faces | Handles.Faces | ✅ | ✅ | ✅ | ✅ |
Float32 | Players.RespawnTime | ✅ | ✅ | ✅ | ✅ |
Float64 | Sound.PlaybackLoudness | ✅ | ✅ | ✅ | ✅ |
Font | TextLabel.Font | ✅ | ✅ | ✅ | ✅ |
Int32 | Frame.ZIndex | ✅ | ✅ | ✅ | ✅ |
Int64 | Player.UserId | ✅ | ✅ | ✅ | ✅ |
MaterialColors | Terrain.MaterialColors | ✅ | ✅ | ✅ | ✅ |
NumberRange | ParticleEmitter.Lifetime | ✅ | ✅ | ✅ | ✅ |
NumberSequence | Beam.Transparency | ✅ | ✅ | ✅ | ✅ |
OptionalCFrame | Model.WorldPivotData | ✅ | ✅ | ✅ | ✅ |
PhysicalProperties | Part.CustomPhysicalProperties | ✅ | ✅ | ✅ | ✅ |
ProtectedString | ModuleScript.Source | ✅ | ✅ | ✅ | ✅ |
Ray | RayValue.Value | ✅ | ✅ | ✅ | ✅ |
Rect | ImageButton.SliceCenter | ✅ | ✅ | ✅ | ✅ |
Ref | Model.PrimaryPart | ✅ | ✅ | ✅ | ✅ |
Region3 | N/A | ✅ | ✅ | ❌ | ❌ |
Region3int16 | Terrain.MaxExtents | ✅ | ✅ | ❌ | ❌ |
SecurityCapabilities | Folder.SecurityCapabilities | ✅ | ❌ | ✅ | ✅ |
SharedString | N/A | ✅ | ✅ | ✅ | ✅ |
String | Instance.Name | ✅ | ✅ | ✅ | ✅ |
Tags | UIListLayout.Padding | ✅ | ✅ | ✅ |