Cheat Sheet

Sometimes you know what you’re looking for, but you don’t know where it is.

Debugging

Name

Code

Logging to console

Log.Info( $"Hello {username}" );

Drawing to screen

DebugOverlay.ScreenText( new Vector2( 50, 50 ), "Hello" );

Asserting

Assert.NotNull( obj, "Object was null!" )

Transforms

Name

Code

Get GameObject Position

var p = go.WorldPosition;

Set GameObject Position

go.WorldPosition = new Vector3( 10, 0, 0 );

Get Local Position

var p = go.LocalPosition;

GameObjects

Name

Code

Find by name

Scene.Directory.FindByName( "Cube" ).First();

Find by Guid

Scene.Directory.FindByGuid( guid );

Creating

var go = new GameObject();

Deleting

go.Destroy()

Disabling

go.Enabled = false;

Duplicating

var newGo = go.Clone();

Adding a Tag

go.Tags.Add( "player" );

Iterate Children

foreach( var child in go.Children )

Deleted Check

if ( go.IsValid() )

Components

Name

Code

Add component

var c = go.AddComponent<ModelRenderer>();

Remove component

c.Destroy()

Disabling

c.Enabled = false;

Get GameObject

var go = c.GameObject;

Get Component

var c = go.GetComponent<ModelRenderer>();

Get or Add

var c = go.GetOrAddComponent<ModelRenderer>();

Iterate

foreach ( var c in go.Components.GetAll() )

Deleted check

if ( c.IsValid() )

Get all active

foreach ( var c in Scene.GetAll<CameraComponent>() )