Skip to content

Getting started (Making new 3D GUI)

TheEpicBruhman edited this page Aug 26, 2026 · 14 revisions

G3 is a Roblox module intended to make 3D GUI a breeze

It has 3 core datatypes

  1. g3Gui

    This datatype functions as a container for parts, like ScreenGUIs
    Updating the position of a GUI moves all of the GUIs parts with it, but not any of its children GUI

    Access its core instance (Model) using myG3Gui.Model

  2. g3Part

    This datatype functions as a UI element as a part, like frames or labels

    You can retrieve any part easily by using g3.FindFirstChild(source: array of g3.part, name: string)
    This searches through an array of g3Parts (Like g3Gui.Parts or _G.G3.allParts)
    and spits out the first g3Part with the given name

    Access its core instance (BasePart) using myG3Part.Part

  3. g3Point

    This datatype is used internally to determine where to move G3 objects. Consists of Position, Rotation, RotationCenter, and Offset

In the documentation, g3Any is referring to either of these 2 types

To start creating a new 3D GUI, there are two main methods

Creating from scratch

You can create 3D GUI from scratch, and this works similarly to making new parts and models from Instance.new()
To start, you have to make the GUI (The container for parts). This is quite simply done with g3.NewGui(name: string)
All new G3 GUI starts off with default 3 offset


With that, you can either:

  1. Bind parts to the GUI (Attach a workspace part to the GUI) using g3.BindPartToGui(g3Gui: g3.gui, part: BasePart)
  2. Create new parts to the G3 GUI by using g3.NewPartToGui(g3Gui: g3.gui, name: string)

All new G3 parts start off with default 1 offset

Binding a part

image image

Creating a new part

image

New parts are created as 1x1x1 massless, clientside and noncolliding cubes


Creating from a pre-existing model

You can also create G3 GUI by converting a model into one. Creating GUI this way is a completely separate workflow than starting from scratch
To convert a model into a 3D GUI, use g3.FromModel(model: Model)

Converting a model into a GUI

image image

Converting models into GUI does come with intricacies.

  1. All BaseParts have to parented to a model (Excluding the converting model itself)

    This is moreso to make using G3 simpler, as it would mean all parts would have a central command to control as a group (a model)

  2. Models are converted from the "Back" point of view

    This is just a way to standardize model conversions into one absolute point of view, which makes G3 simpler

All parts have to be parented to a model

image

Models are converted from the "Back" point of view

image

Base

Basics

Getting Started / Making new 3D GUI

Move / Position your GUI

Intermediate

General properties of G3 objects

General methods of G3 objects

Prevent GUI being hidden behind the Player

Prevent GUI being obscured by the surroundings

Advanced

Boost performance by merging parts

Support G3!

If you are interested in G3 expanding beyond a passion project, or if you want to boost G3 along with its development and see more advanced features, please donate!

Donations mean a lot of me, as they are direct proof that I'm going in the right direction. Donating even a dollar would mean so much to not only me but the rest of my family.

ko-fi

Clone this wiki locally