--========================================================-- -- EVERY ROBLOX SERVICE — GIGA / PART A (EXPANDED) -- -- (Massive doc: Methods • Properties • Events • Examples)-- -- NOTE: This file is documentation-style. Safe to paste. -- --========================================================-- --[ THE SERVICE OF PLAYERS ] local Players = game:GetService("Players") -- Summary: Player management, events, API for user info, thumbnails, friend requests, leaderboards, player replication. -- PROPERTIES (common) -- Players.MaxPlayers -- maximum players allowed by the place -- Players.AutoAssignableGUID -- internal -- Players.CharacterAutoLoads -- bool; whether character auto-spawns -- METHODS (examples) -- Players:GetPlayers() -> {Player, ...} -- Players:GetPlayerByUserId(userId) -> Player | nil -- Players:GetPlayerFromCharacter(character) -> Player | nil -- Players:GetHumanoidDescriptionFromUserId(userId) -> HumanoidDescription -- Players:CreateHumanoidModelFromDescription(desc, rigType) -> Model -- Players:GetUserThumbnailAsync(userId, thumbnailType, thumbnailSize) -> (imageUrl, isReady) -- EVENTS -- Players.PlayerAdded:Connect(function(player) end) -- Players.PlayerRemoving:Connect(function(player) end) -- Players.PlayerIdResumed (platform/internal) -- Players.PlayerChatted -> legacy chat hook in some systems -- NOTES & EXAMPLES: -- Use Players.PlayerAdded to initialize per-player server data. -- Example (server-side): -- Players.PlayerAdded:Connect(function(player) -- print("Welcome", player.Name, "ID:", player.UserId) -- -- prepare leaderstats, set character listeners -- end) -- WARNING: -- Do not trust client-provided data. Always validate on server. ---------------------------------------------------------------- --[ THE SERVICE OF WORKSPACE ] local Workspace = game:GetService("Workspace") -- Summary: Root 3D environment. Contains Terrain, CurrentCamera, lighting influence points. -- PROPERTIES -- Workspace.CurrentCamera -- Camera object -- Workspace.Gravity -- gravity in studs/sec^2 (default 196.2) -- Workspace.FallenPartsDestroyHeight -- parts destroyed under this Y -- Workspace.DistributedGameTime -- synchronized game time across servers -- Workspace.StreamingEnabled -- bool -- METHODS -- Workspace:Raycast(origin, direction, raycastParams) -> RaycastResult | nil -- Workspace:FindPartOnRay(ray, ignoreDescendants, terrainCellsRaycasted) -- Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList) -- Workspace:IsRegion3Empty(region3, ignoreList) -- EVENTS -- Workspace.Changed:Connect(function(prop) end) -- generic property change hook -- Workspace.ChildAdded/ChildRemoved -- TERRAIN (subsystem) -- Terrain = Workspace.Terrain -- Terrain methods: -- Terrain:FillBlock(cframe, sizeVector3, materialEnum) -- Terrain:FillSphere(position, radius, materialEnum) -- Terrain:ReadVoxels(region, resolution) -> occupies, materials -- Terrain:WriteVoxels(region, resolution, materials, occupancies) -- Terrain:ReplaceMaterial(region, resolution, sourceMaterial, targetMaterial) -- EXAMPLES: -- Raycast example: -- local params = RaycastParams.new() -- params.FilterDescendantsInstances = { someIgnoreInstance } -- params.FilterType = Enum.RaycastFilterType.Blacklist -- local result = Workspace:Raycast(origin, direction, params) -- if result then print("Hit:", result.Instance.Name) end -- WARNING: -- Raycast and physics heavy use can be expensive at scale. Use broad-phase checks and throttle. ---------------------------------------------------------------- --[ THE SERVICE OF RUNSERVICE ] local RunService = game:GetService("RunService") -- Summary: Global runtime events for stepping, rendering, simulation hooks. -- METHODS -- RunService:IsClient(), IsServer(), IsStudio() -- RunService:BindToRenderStep(name, priority, callback) -- RunService:Set3dRenderingEnabled(enabled) -- studio-only in some contexts -- EVENTS -- RunService.Heartbeat:Connect(function(step) end) -- server tick -- RunService.Stepped:Connect(function(time, delta) end) -- physics step -- RunService.RenderStepped:Connect(function(delta) end) -- client render step -- USAGE NOTES: -- Use RenderStepped only on client UI/visual updates. Never yield in RenderStepped. -- Use Heartbeat for server updates that run each tick (non-physics). ---------------------------------------------------------------- --[ THE SERVICE OF REPLICATEDSTORAGE ] local ReplicatedStorage = game:GetService("ReplicatedStorage") -- Summary: Shared storage visible to both server & client for Assets, RemoteEvents, RemoteFunctions. -- USAGE PATTERN: -- Place RemoteEvent objects under ReplicatedStorage for client-server comms: -- local myRemote = Instance.new("RemoteEvent", ReplicatedStorage); myRemote.Name = "MyRemote" -- Server: myRemote.OnServerEvent:Connect(function(player, data) end) -- Client: myRemote:FireServer(data) -- WARNING: -- Never put secrets or server-only objects you expect clients not to see in ReplicatedStorage. ---------------------------------------------------------------- --[ THE SERVICE OF REMOTES (RemoteEvent & RemoteFunction EXAMPLES) ] -- RemoteEvent (as Instance) -- local remote = ReplicatedStorage:WaitForChild("MyRemote") -- Server: -- remote.OnServerEvent:Connect(function(player, ...) -- -- validate player then handle -- end) -- Client: -- remote:FireServer(params) -- RemoteFunction -- local rf = ReplicatedStorage:WaitForChild("MyFunction") -- Server: -- function rf.OnServerInvoke(player, ...) -- return "server response" -- end -- Client: -- local res = rf:InvokeServer(arg1) -- SECURITY NOTE: -- All client calls must be validated. Never trust client-sent arguments. ---------------------------------------------------------------- --[ THE SERVICE OF HTTP SERVICE ] local HttpService = game:GetService("HttpService") -- Summary: HTTP requests and JSON encode/decode. -- METHODS -- HttpService:GetAsync(url, noYield?) -> string/response -- HttpService:PostAsync(url, body, contentType, compress, headers) -- HttpService:RequestAsync({Url, Method, Body, Headers, Compress}) -- HttpService:JSONEncode(table) -- HttpService:JSONDecode(jsonString) -- HttpService:UrlEncode(str) -- EXAMPLE: -- local ok, res = pcall(function() -- return HttpService:GetAsync("https://api.example.com/endpoint") -- end) -- if ok then local data = HttpService:JSONDecode(res) end -- WARNING: -- HTTP must be enabled for the place (Game Settings). Respect privacy & TOS. Rate-limit and error handle. ---------------------------------------------------------------- --[ THE SERVICE OF DATASTORE SERVICE ] local DataStoreService = game:GetService("DataStoreService") -- Summary: Persistent cross-server storage (key-value) for places. -- METHODS (pattern) -- local ds = DataStoreService:GetDataStore("MyStore") -- ds:GetAsync(key) -- ds:SetAsync(key, value) -- ds:UpdateAsync(key, function(oldValue) return newValue end) -- DataStoreService:ListKeysAsync(datastoreName, pageSize, pageToken) -- EXAMPLE (server): -- local success, result = pcall(function() -- return ds:UpdateAsync("player_"..player.UserId, function(old) -- old = old or {coins=0} -- old.coins = (old.coins or 0) + 100 -- return old -- end) -- end) -- WARNING: -- DataStores are eventually consistent and have rate limits. Use UpdateAsync for concurrency-safe changes. ---------------------------------------------------------------- --[ THE SERVICE OF DATASTOREV2SERVICE ] local DataStoreV2Service = game:GetService("DataStoreV2Service") -- Summary: Next generation datastores — refer to official docs for transactional/locking modes. -- NOTES: -- API surface differs slightly; supports scoped data stores & additional operations. ---------------------------------------------------------------- --[ THE SERVICE OF MESSAGING SERVICE ] local MessagingService = game:GetService("MessagingService") -- Summary: Cross-server pub/sub system for coordinating events across running servers. -- METHODS -- MessagingService:PublishAsync(topic, message) -- local conn = MessagingService:SubscribeAsync(topic, function(data) print("Got:", data) end) -- conn:Disconnect() -- WARNING: -- Messages are best-effort and may drop; use for non-critical signals. ---------------------------------------------------------------- --[ THE SERVICE OF TELEPORT SERVICE ] local TeleportService = game:GetService("TeleportService") -- Summary: Teleport players between places or reserved servers. -- METHODS -- TeleportService:Teleport(placeId, player, teleportData, spawnName) -- TeleportService:TeleportAsync(placeId, playersList, teleportData) -- TeleportService:ReserveServer(placeId) -> reservedServerCode -- TeleportService:TeleportToPrivateServer(placeId, reservedServerCode, players) -- EVENTS -- TeleportService.TeleportInitFailed:Connect(function(player, err) end) -- NOTES: -- TeleportData passed to Teleport() arrives in the destination via TeleportData on Players in PlayerAdded or GetPlayerFromUserId. ---------------------------------------------------------------- --[ THE SERVICE OF MARKETPLACE SERVICE ] local MarketplaceService = game:GetService("MarketplaceService") -- Summary: Purchases, game passes, developer products. -- METHODS -- MarketplaceService:PromptProductPurchase(player, productId) -- MarketplaceService:PromptGamePassPurchase(player, passId) -- MarketplaceService:UserOwnsGamePassAsync(userId, passId) -- MarketplaceService:ProcessReceipt(receiptInfo) -- implement for dev products -- EXAMPLE (receipt handler): -- function MarketplaceService.ProcessReceipt(receiptInfo) -- -- validate and give product -- return Enum.ProductPurchaseDecision.PurchaseGranted -- end -- WARNING: -- Receipt handling must be implemented server-side for developer products. ---------------------------------------------------------------- --[ THE SERVICE OF COLLECTION SERVICE ] local CollectionService = game:GetService("CollectionService") -- Summary: Tagging system for instances; efficient querying by tag. -- METHODS -- CollectionService:AddTag(instance, tag) -- CollectionService:RemoveTag(instance, tag) -- local items = CollectionService:GetTagged(tag) -- CollectionService:GetTags(instance) -- CollectionService:GetInstanceAddedSignal(tag):Connect(function(instance) end) -- USAGE: -- Use tags for grouping gameplay objects (e.g., "RespawnPoints", "Damageable", "Loot"). ---------------------------------------------------------------- --[ THE SERVICE OF PATHFINDING SERVICE ] local PathfindingService = game:GetService("PathfindingService") -- Summary: Create paths around obstacles. -- METHODS -- local path = PathfindingService:CreatePath({AgentHeight=5, AgentRadius=2}) -- path:ComputeAsync(startPos, endPos) -- local waypoints = path:GetWaypoints() -- path.Status, path.StatusChanged:Connect(fn) -- TIPS: -- Regenerate path when obstacles or map change. Cache for repeated NPC patterns. ---------------------------------------------------------------- --[ THE SERVICE OF TWEEN SERVICE ] local TweenService = game:GetService("TweenService") -- Summary: Smooth property interpolations. -- METHODS -- local tween = TweenService:Create(instance, TweenInfo.new(1, Enum.EasingStyle.Quint), {Position = endPos}) -- tween:Play() -- tween:Pause(); tween:Cancel() -- TweenService:CreateGuides? -- internal -- USAGE: -- Use for UI and movement easing. Do not tween physics-owned properties on server for authoritative simulation. ---------------------------------------------------------------- --[ THE SERVICE OF SOUND SERVICE ] local SoundService = game:GetService("SoundService") -- Summary: Global audio configuration. -- PROPERTIES -- SoundService.RolloffScale -- SoundService.DistanceFactor -- SoundService.RespectFilteringEnabled -- METHODS/NOTES: -- SoundService:PlayLocalSound(soundInstance) -- plays for a single client (client context) -- Use SoundService for ambient and global groups. ---------------------------------------------------------------- --[ THE SERVICE OF PHYSICS SERVICE ] local PhysicsService = game:GetService("PhysicsService") -- Summary: Collision groups & physics tuning. -- METHODS -- PhysicsService:SetPartCollisionGroup(part, groupName) -- PhysicsService:CreateCollisionGroup(groupName) -- PhysicsService:CollisionGroupSetWeight(groupA, groupB, weight) -- WARNING: -- Collision group changes should be configured at runtime start. Changing mid-simulation may have odd results. ---------------------------------------------------------------- --[ THE SERVICE OF MEMORY STORE SERVICE (MemStorage alternative) ] local MemoryStoreService = game:GetService("MemoryStoreService") -- sometimes MemStorageService/MemStorageService exists; check runtime -- Summary: Fast in-memory cross-server data (queues, maps) — use for leaderboards, rate-limiting. -- METHODS -- MemoryStoreService:GetSortedMap(name) -- MemoryStoreService:GetQueue(name) -- MemoryStoreService:GetMap(name) -- NOTE: -- MemoryStore is ephemeral and may be evicted. Do not use it for permanent player data. ---------------------------------------------------------------- --[ THE SERVICE OF MEMSTORAGESERVICE ] local MemStorageService = game:GetService("MemStorageService") -- Summary: Fast ephemeral key-value. Check docs for API variants. ---------------------------------------------------------------- -- PART A ENDING NOTES: -- Part A includes dense, practical references for major gameplay services. -- Part B will continue with Chat/TextChat internals, Avatar, Animations, ContentProvider, InsertService, AssetService, Packages, Localization, NotificationService, SocialService, PolicyService, and more. -- Part C will finish studio & internal services: StudioService, DebuggerManager, PluginGuiService, VirtualInputManager, HapticService, GestureService, BrowserService, Remote Debugging, VideoCapture, CoreGui/CorePackages, and final housekeeping. --========================================================-- -- EVERY ROBLOX SERVICE — GIGA / PART B (EXPANDED) -- -- (UI • Chat • Avatar • Animation • Content • Notification) --========================================================-- --[ THE SERVICE OF CHAT ] local Chat = game:GetService("Chat") -- Summary: Legacy chat API and chat modules (server-side & client-side integration). -- METHODS & USAGE -- Chat:Chat(sourceInstance, message, chatType) -- sends a system-like chat message from instance -- Chat:RegisterChatCallback(Enum.ChatCallbackType, function(msg, speakerName) end) -- advanced hooking for moderation or transforms -- NOTES: -- New projects should prefer TextChatService for modern chat pipelines. ---------------------------------------------------------------- --[ THE SERVICE OF TEXT CHATSERVICE ] local TextChatService = game:GetService("TextChatService") -- Summary: New chat pipelines — modular, channel-based. -- KEY CONCEPTS -- TextChatService:RegisterChannel(channelName, settings) -- TextChatService.ChatChannels -- iterable -- TextChatService.OnIncomingMessage:Connect(function(message, channel) end) -- EXAMPLE: -- TextChatService.OnIncomingMessage:Connect(function(msg, channel) -- if msg.Text:match("badword") then reject or transform -- end) ---------------------------------------------------------------- --[ THE SERVICE OF GUI SERVICE ] local GuiService = game:GetService("GuiService") -- Summary: GUI-level helpers (core GUI, selection, menu integration). -- METHODS -- GuiService:AddSelectionParent(name, instance) -- GuiService:RemoveSelectionParent(name) -- GuiService:SetMenuIsOpen(open) -- NOTES: -- Use Selection for gamepad / keyboard navigation improvements. ---------------------------------------------------------------- --[ THE SERVICE OF CONTENT PROVIDER ] local ContentProvider = game:GetService("ContentProvider") -- Summary: Preloading assets and controlling content load. -- METHODS -- ContentProvider:PreloadAsync({instancesOrIds}, progressCallback) -- ContentProvider:PreloadLocalAsync(list) -- ContentProvider:IsLoaded(id) -- maybe studio-only -- PERFORMANCE TIPS: -- Preload UI icons, character accessories during loading screen to avoid hitches. ---------------------------------------------------------------- --[ THE SERVICE OF ANIMATION CLIP PROVIDER ] local AnimationClipProvider = game:GetService("AnimationClipProvider") -- Summary: Editor/runtime provider for animation clips. -- METHODS -- AnimationClipProvider:GetAnimationClip(assetId) -> AnimationClip ---------------------------------------------------------------- --[ THE SERVICE OF ANIMATION FROM VIDEO CREATOR SERVICE ] local AnimationFromVideoCreatorService = game:GetService("AnimationFromVideoCreatorService") -- Summary: Studio tool service to help create animations from video — mostly editor-only. ---------------------------------------------------------------- --[ THE SERVICE OF AVATAR EDITOR SERVICE ] local AvatarEditorService = game:GetService("AvatarEditorService") -- Summary: Tools to prompt avatar editing UIs, fetch avatar catalogs and outfits. -- METHODS -- AvatarEditorService:PromptEditor(player) -- prompts UI; studio or platform may gate ---------------------------------------------------------------- --[ THE SERVICE OF AVATAR IMPORT SERVICE ] local AvatarImportService = game:GetService("AvatarImportService") -- Summary: Import avatar assets programmatically. ---------------------------------------------------------------- --[ THE SERVICE OF BADGE SERVICE ] local BadgeService = game:GetService("BadgeService") -- Summary: Award badges and check ownership. -- METHODS: -- BadgeService:AwardBadge(userId, badgeId) -- server -- BadgeService:UserHasBadgeAsync(userId, badgeId) ---------------------------------------------------------------- --[ THE SERVICE OF ASSET SERVICE ] local AssetService = game:GetService("AssetService") -- Summary: Asset lifecycle (thumbnailing, moderation), often studio/admin-level. -- METHODS (examples) -- AssetService:GenerateThumbnailAsync(assetId, settings) -- AssetService:GetAssetInfoAsync(assetId) ---------------------------------------------------------------- --[ THE SERVICE OF INSERT SERVICE ] local InsertService = game:GetService("InsertService") -- Summary: Insert models/assets into the place (Studio only). -- METHODS: -- InsertService:LoadAsset(assetId) -- InsertService:CreateObjectFromAssetId(assetId) ---------------------------------------------------------------- --[ THE SERVICE OF PACKAGE SERVICE ] local PackageService = game:GetService("PackageService") -- Summary: Package publish & management (developer-level). ---------------------------------------------------------------- --[ THE SERVICE OF LOCALIZATION SERVICE ] local LocalizationService = game:GetService("LocalizationService") -- Summary: Translation, localization tables and per-player translators. -- METHODS -- LocalizationService:GetTranslatorForPlayerAsync(player) -- LocalizationService:GetLocaleIdAsync(player) -- LocalizationService:Translate(locale, key, args) -- EXAMPLE: -- local translator = LocalizationService:GetTranslatorForPlayerAsync(player) -- local text = translator:FormatByKey("WelcomeMessage", {playerName = player.Name}) ---------------------------------------------------------------- --[ THE SERVICE OF NOTIFICATION SERVICE ] local NotificationService = game:GetService("NotificationService") -- Summary: Sending UI/system notifications. -- METHODS -- NotificationService:SendNotification(player, title, text, duration) -- NotificationService:SendSystemNotification(title, text) ---------------------------------------------------------------- --[ THE SERVICE OF SOCIAL SERVICE ] local SocialService = game:GetService("SocialService") -- Summary: Friend/social features & join prompts. -- METHODS (examples) -- SocialService:PromptSendFriendRequest(player, targetUserId) -- SocialService:PromptGameJoin(player, targetUserId) ---------------------------------------------------------------- --[ THE SERVICE OF TRUST & POLICY SERVICES ] local PolicyService = game:GetService("PolicyService") local TrustAndSafetyService = game:GetService("TrustAndSafetyService") -- Summary: Moderation, platform policy enforcement. -- METHODS: -- PolicyService:PlayerHasPermissionAsync(player, permissionName) -- TrustAndSafetyService:ReportContent(details) -- NOTE: -- These APIs may be restricted to certain roles and environments. ---------------------------------------------------------------- --[ THE SERVICE OF VOICE CHAT SERVICE ] local VoiceChatService = game:GetService("VoiceChatService") -- Summary: Manage voice channels, participants; platform-limited. -- METHODS/NOTES: -- VoiceChatService:JoinChannel(channelId) -- VoiceChatService:LeaveChannel(channelId) -- VoiceChatService:EnableVoiceForUserId(userId) -- WARNING: -- Voice systems often require platform opt-in and safety checks. ---------------------------------------------------------------- --[ THE SERVICE OF VIDEO CAPTURE SERVICE ] local VideoCaptureService = game:GetService("VideoCaptureService") -- Summary: Client-side recording/streaming; platform-restricted. -- METHODS -- VideoCaptureService:StartCapture(settings) -- VideoCaptureService:StopCapture() ---------------------------------------------------------------- --[ THE SERVICE OF ANIMATION & SKELETONS (misc) ] -- Animation & rigging utilities: -- KeyframeSequenceProvider, KeyframeSequence, AnimationController APIs exist across environments. ---------------------------------------------------------------- -- PART B ENDING NOTES: -- Part B focuses on user-facing, UI, avatar & content systems. These are extremely useful for making polished experiences. -- Part C will be the full studio/internal/services section — the largest: StudioService, Plugin Gui, Debuggers, VirtualInputManager, DockWidgetService, CoreGui/CorePackages, VersionControlService, RemoteDebuggerServer, RuntimeScriptService, ProcessInstancePhysicsService, etc. --========================================================-- -- EVERY ROBLOX SERVICE — GIGA / PART C (EXPANDED) -- -- (Studio & Internal • Plugins • Debugging • Core • Tools) --========================================================-- --[ THE SERVICE OF STUDIO SERVICE ] local StudioService = game:GetService("StudioService") -- Summary: Studio environment hooks — plugin authoring, file openers, test-run controls. -- METHODS -- StudioService:OpenScript(scriptObject) -- StudioService:SelectScript(scriptObject) -- StudioService:PromptImportFile() -- EVENTS -- StudioService.TestStarted:Connect(function() end) -- StudioService.TestEnded:Connect(function() end) -- NOTE: -- StudioService is only available in Roblox Studio. ---------------------------------------------------------------- --[ THE SERVICE OF PLUGIN GUI SERVICE ] local PluginGuiService = game:GetService("PluginGuiService") -- Summary: Create and manage plugin UI. -- METHODS -- PluginGuiService:CreateWidget(plugin, name, initialDockState) -- PluginGuiService:GetGuiForPlugin(plugin) -- EXAMPLE: -- local widget = plugin:CreateDockWidgetPluginGui("MyWidget", DockWidgetPluginGuiInfo.new(...)) -- widget.Name = "MyTool" ---------------------------------------------------------------- --[ THE SERVICE OF PLUGIN DEBUG SERVICE ] local PluginDebugService = game:GetService("PluginDebugService") -- Summary: Debug session control for plugins (studio internal). ---------------------------------------------------------------- --[ THE SERVICE OF SCRIPT EDITOR SERVICE ] local ScriptEditorService = game:GetService("ScriptEditorService") -- Summary: Interact with scripts in the editor; open files, go to definitions. ---------------------------------------------------------------- --[ THE SERVICE OF REMOTE DEBUGGER SERVER ] local RemoteDebuggerServer = game:GetService("RemoteDebuggerServer") -- Summary: Attach remote debugging sessions to Live events (studio tooling). ---------------------------------------------------------------- --[ THE SERVICE OF RUNTIME SCRIPT SERVICE ] local RuntimeScriptService = game:GetService("RuntimeScriptService") -- Summary: Runtime dynamic script lifecycle management (private/internal). ---------------------------------------------------------------- --[ THE SERVICE OF DEBUGGER MANAGER ] local DebuggerManager = game:GetService("DebuggerManager") -- Summary: Manage debugging tools and clients (studio internal). ---------------------------------------------------------------- --[ THE SERVICE OF VERSION CONTROL SERVICE ] local VersionControlService = game:GetService("VersionControlService") -- Summary: Interacts with version control systems and source control within Studio. -- METHODS: -- VersionControlService:CheckOutAsset(assetId) ---------------------------------------------------------------- --[ THE SERVICE OF TEST SERVICE ] local TestService = game:GetService("TestService") -- Summary: Unit testing paired service for test run orchestration. -- METHODS: -- TestService:RunUnitTests() -- TestService:ReportResult(testName, success, message) ---------------------------------------------------------------- --[ THE SERVICE OF DOCK WIDGET SERVICE ] local DockWidgetService = game:GetService("DockWidgetService") -- Summary: Create dock widgets for plugins. -- METHODS: -- DockWidgetService:CreateDockWidgetPluginGui(widgetId, info) ---------------------------------------------------------------- --[ THE SERVICE OF VIRTUAL INPUT MANAGER ] local VirtualInputManager = game:GetService("VirtualInputManager") -- Summary: Low-level input injection (executor/studio only). -- METHODS: -- VirtualInputManager:SendKeyEvent(isDown, keyCode, isRepeat, guiObject) -- VirtualInputManager:SendMouseButtonEvent(x, y, button, isDown, guiObject) -- VirtualInputManager:SendMouseMoveEvent(x, y, guiObject) -- VirtualInputManager:SendTextInput(text) -- WARNING: -- VirtualInputManager APIs are not allowed in normal games and are restricted for security reasons. ---------------------------------------------------------------- --[ THE SERVICE OF VIRTUAL USER ] local VirtualUser = game:GetService("VirtualUser") -- Summary: Simulate user input (used for compatibility in some execution environments). -- METHODS: -- VirtualUser:Button1Down(); VirtualUser:Button1Up() ---------------------------------------------------------------- --[ THE SERVICE OF HAPTIC SERVICE ] local HapticService = game:GetService("HapticService") -- Summary: Gamepad vibration APIs. -- METHODS: -- HapticService:SetMotor(gamepad, motor, intensity) -- HapticService:IsMotorSupported(gamepad, motor) ---------------------------------------------------------------- --[ THE SERVICE OF GESTURE SERVICE ] local GestureService = game:GetService("GestureService") -- Summary: High-level gesture detection for VR/mobile. -- EVENTS: -- GestureService.GesturePerformed:Connect(function(gestureType, data) end) ---------------------------------------------------------------- --[ THE SERVICE OF BROWSER SERVICE ] local BrowserService = game:GetService("BrowserService") -- Summary: Open in-app browser windows (internal/privileged). -- METHODS: -- BrowserService:OpenBrowserWindow(url) -- WARNING: -- BrowserService is platform-limited and may be restricted in published games. ---------------------------------------------------------------- --[ THE SERVICE OF CORE GUI & CORE PACKAGES ] local CoreGui = game:GetService("CoreGui") local CorePackages = game:GetService("CorePackages") -- Summary: Roblox's internal UI containers and package collections. -- NOTES: -- CoreGui should not be modified except for approved plugin contexts. CorePackages contains internal modules used by Roblox. ---------------------------------------------------------------- --[ THE SERVICE OF REMOTES / RUNTIME HELPERS ] -- RuntimeScriptService, RemoteDebuggerServer, and related internal services let Studio attach scripts / debug live experiences. ---------------------------------------------------------------- --[ THE SERVICE OF VIDEO CAPTURE SERVICE ] -- (repeated / studio internal) -- VideoCaptureService:StartCapture(); StopCapture() ---------------------------------------------------------------- --[ THE SERVICE OF PROCESS INSTANCE PHYSICS SERVICE ] local ProcessInstancePhysicsService = game:GetService("ProcessInstancePhysicsService") -- Summary: Internal physics processing per-instance (editor/internal) ---------------------------------------------------------------- --[ THE SERVICE OF VISIT / ANALYTICS / LOGGING ] local Visit = game:GetService("Visit") local AnalyticsService = game:GetService("AnalyticsService") local LogService = game:GetService("LogService") -- Summary: Telemetry, logging, and visit analytics. -- USE: -- AnalyticsService:FireEvent("eventName", {properties}) -- LogService.MessageOut:Connect(function(message, type) end) ---------------------------------------------------------------- --[ THE SERVICE OF DEBUGGING & TOOLING WRAPUP ] -- DebuggerManager, RemoteDebuggerServer, ScriptEditorService, PluginDebugService: these are studio-only. -- They allow plugin authors and studio users to create integrated experiences. ---------------------------------------------------------------- -- PART C ENDING NOTES: -- Part C finishes the internal and studio APIs — everything plugin authors and power users need. -- This completes the GIGA Multi-Part set. -- • colorized ScriptBlox markdown with emojis & headers -- • or helper wrappers that expose method signatures as callable noop functions (for autocompletion) -- say it and I’ll bake it immediately.