Skip to main content

configuration

how to modify config.lua for custom setups.

config structure

config.lua defines:

  • version information
  • feature organization
  • feature metadata
  • default states
  • keybinds

basic configuration

changing keybinds

keybinds = {
toggle = Enum.KeyCode.X -- change from z to x
}

disabling features

{
id = "hideUI",
name = "hide screen guis",
description = "...",
path = "features/hideUI.lua",
enabled = false -- disable this feature
}

advanced configuration

adding custom features

{
id = "myCustomFeature",
name = "my custom feature",
description = "does something cool",
path = "features/myCustomFeature.lua",
enabled = true
}

creating new categories

{
id = "myCategory",
name = "my features",
features = {
-- your features here
}
}

reordering features

features load in order listed:

features = {
{id = "feature1"}, -- loads first
{id = "feature2"}, -- loads second
{id = "feature3"} -- loads third
}

custom deployments

hosting your own fork

  1. fork the repository
  2. modify config.lua
  3. change loadstring url to your fork:
loadstring(game:HttpGet("https://raw.githubusercontent.com/YOUR_USERNAME/LogansCameraSuite/main/main.lua"))()

private features

  1. add features to your fork
  2. keep repository private
  3. use personal access token for httpget

team configurations

  1. create team-specific config
  2. host on team github
  3. team members load from team repo

configuration examples

minimal setup

only freecam and hide players:

categories = {
{
id = "essential",
name = "essential features",
features = {
{id = "freecam", name = "freecam", description = "...", path = "features/freecam.lua", enabled = true},
{id = "hidePlayers", name = "hide players", description = "...", path = "features/hidePlayers.lua", enabled = true}
}
}
}

screenshot setup

optimized for screenshots:

categories = {
{
id = "screenshot",
name = "screenshot mode",
features = {
{id = "freecam", enabled = true},
{id = "hidePlayers", enabled = true},
{id = "hideBillboards", enabled = true},
{id = "hideUI", enabled = true},
{id = "ignoreGuiInset", enabled = true},
{id = "hideChatBubbles", enabled = false} -- might want chat visible
}
}
}

video setup

optimized for recording:

categories = {
{
id = "video",
name = "video mode",
features = {
{id = "freecam", enabled = true},
{id = "hidePlayers", enabled = true},
{id = "hideBillboards", enabled = true},
{id = "hideChatBubbles", enabled = true},
{id = "hideUI", enabled = false}, -- might want some ui
{id = "ignoreGuiInset", enabled = true}
}
}
}

best practices

version your config

include version info:

version = "custom-v1.0"

document changes

add comments:

{
id = "hideUI",
enabled = false, -- disabled for tutorial videos
-- rest of config
}

test before deploying

  • test all features work
  • verify no conflicts
  • check error handling
  • try in multiple games

keep backups

  • backup working configs
  • version control with git
  • document what each config does